Uploaded image for project: 'Nuxeo Studio'
  1. Nuxeo Studio
  2. NXS-1851

Fix nested complex types generation in schemas

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.15
    • Fix Version/s: 2.17.3, 18
    • Component/s: Documents

      Description

      See http://answers.nuxeo.com/questions/7408/bug-nuxeo-studio-generating-syntactically-invalid-schema-for-nested-complex-types

      Ok, here's what I did (all within studio):

      • go to Content Model->Schemas
      • click +New schema
      • enter featureid "bugtest" and prefix "bugtest", check the "allow complex nested types"
      • add a field named "nest1" , type "Complex", check "Multivalued" on "nest1" field, click Edit next to Complex
      • add a field named "nest2", type "Complex", check "Multivalued" on "nest2" field, click Edit next to Complex
      • add a field named "foo" type String
      • click Save

      Switch over to Nuxeo DM

      • go to Admin Center
      • click Update Center
      • click Update

      In Nuxeo DM logs, i see this:

      2013-11-22 07:22:19,720 ERROR [http-bio-0.0.0.0-8080-exec-5] [org.nuxeo.ecm.core.schema.XSDLoader] FatalError: Unexpected <xs:complextype> appears at line 44 column 52 2013-11-22 07:22:19,721 ERROR [http-bio-0.0.0.0-8080-exec-5] [org.nuxeo.ecm.core.schema.SchemaManagerImpl] org.xml.sax.SAXParseException; systemId: file:/Users/rtrotter/Downloads/nuxeo-cap-5.8-tomcat/nxserver//schemas/bugtest.xsd; lineNumber: 44; columnNumber: 52; Unexpected <xs:complextype> appears at line 44 column 52
      

      For completeness, here are lines 35 through 55 of bugtest.xsd as it got generated from studio:

      <xs:element name="nest1" type="nxs:bugtest_nest1ListType"/>
        <xs:complextype name="bugtest_nest1ListType">
          <xs:sequence>
            <xs:element name="item" type="nxs:bugtest_nest1Type" minoccurs="0" maxoccurs="unbounded"/>
          </xs:sequence>
        </xs:complextype>
        <xs:complextype name="bugtest_nest1Type">
          <xs:sequence>
            <xs:element name="nest2" type="nxs:bugtest_nest2ListType"/>
            <xs:complextype name="bugtest_nest2ListType">
              <xs:sequence>
                <xs:element name="item" type="nxs:bugtest_nest2Type" minoccurs="0" maxoccurs="unbounded"/>
              </xs:sequence>
            </xs:complextype>
           <xs:complextype name="bugtest_nest2Type">
             <xs:sequence>
               <xs:element name="foo" type="xs:string"/>
             </xs:sequence>
           </xs:complextype>
         </xs:sequence>
      </xs:complextype>
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                2 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: