3
  1. XSD from there: http://www.loc.gov/ead/ead.xsd
  2. JAXB command: xjc ead.xsd -b ead.xjb
  3. ead.xjb :
    < bindings xmlns="http://java.sun.com/xml/ns/jaxb"
          xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
          xmlns:xs="http://www.w3.org/2001/XMLSchema"
          version="2.1" >
    < bindings schemaLocation="ead.xsd" version="1.0">
        < bindings node="//xs:complexType[@name='title']">
            < bindings node=".//xs:attribute[@name='type']">
                < property name="TAttribute"/>
            < /bindings>
        < /bindings>
    < /bindings>
    < /bindings>
     
  4. Exception
    parsing a schema...
    Exception in thread "main" java.lang.AssertionError: javax.xml.bind.JAXBException
    
    • with linked exception: [com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions com.sun.xml.bind.api.impl.NameConverter is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at com.sun.xml.bind.api.impl.NameConverter at public com.sun.xml.bind.api.impl.NameConverter com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding.nameConverter at com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding ] at com.sun.tools.xjc.reader.xmlschema.bindinfo.BindInfo.getCustomizationContext(BindInfo.java:356) at com.sun.tools.xjc.reader.xmlschema.bindinfo.BindInfo.getCustomizationUnmarshaller(BindInfo.java:362)

What could be wrong?

4

1 回答 1

4

你用的是哪个xjc?我会建议使用 jdk1.6 内置 xjc 来生成所需的绑定。

于 2013-06-21T22:36:08.750 回答