XML : Can Jaxb handle type attributes in Xml Schema

Just modified my Xml Schema from

  .......  <xs:element name="mood1">    <xs:complexType>      <xs:sequence>        <xs:element name="positive" type="xs:boolean"/>        <xs:element name="probability" type="xs:float"/>      </xs:sequence>    </xs:complexType>  </xs:element>   <xs:element name="mood2">    <xs:complexType>      <xs:sequence>        <xs:element name="positive" type="xs:boolean"/>        <xs:element name="probability" type="xs:float"/>      </xs:sequence>    </xs:complexType>  </xs:element>     

to

  ..........    <xs:complexType name="category">     <xs:sequence>       <xs:element name="positive" type="xs:boolean"/>       <xs:element name="probability" type="xs:float"/>     </xs:sequence>`enter code here`   </xs:complexType>   <xs:element name="mood1" type="category"/>   <xs:element name="mood2" type="category"/>   ...........    

to simplify it.

But now when I use JAXB (2.2.5) to generate Java classes for the schema it complains

   src-resolve: Cannot resolve the name 'category' to a(n) 'type definition' component.          at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)          at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)          at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4162)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4145)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1741)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:242)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1433)          at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:630)          at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:616)          at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:574)          at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:540)          at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)          at com.sun.tools.xjc.reader.xmlschema.parser.SchemaConstraintChecker.check(SchemaConstraintChecker.java:101)          at com.sun.tools.xjc.ModelLoader.loadXMLSchema(ModelLoader.java:357)          at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:167)          at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:113)          at org.jvnet.jaxb2.maven2.RawXJC2Mojo.loadModel(RawXJC2Mojo.java:630)          at org.jvnet.jaxb2.maven2.RawXJC2Mojo.doExecute(RawXJC2Mojo.java:258)          at org.jvnet.jaxb2.maven2.RawXJC2Mojo.execute(RawXJC2Mojo.java:134)          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)          at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)          at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)          at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)          at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)          at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)          at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)          at java.lang.reflect.Method.invoke(Method.java:483)          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)          at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)          at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)    

Cant jaxb handle the type attribute ?

No comments:

Post a Comment