无法使用XSD中的maven生成类

时间:2014-05-12 07:45:35

标签: java xml-parsing jaxb xsd-validation

尝试使用maven

从xsd生成类文件时出错

我有以下xsd文件: -

<xs:schema attributeFormDefault="unqualified"
    elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0">
 <xs:element name="ADI">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Metadata">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="AMS">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute type="xs:string" name="Asset_Class"/>
                      <xs:attribute type="xs:string" name="Asset_ID"/>
                      <xs:attribute type="xs:string" name="Asset_Name"/>
                      <xs:attribute type="xs:string" name="Product"/>
                      <xs:attribute type="xs:string" name="Provider"/>
                      <xs:attribute type="xs:string" name="Provider_ID"/>
                      <xs:attribute type="xs:byte" name="Version_Major"/>
                      <xs:attribute type="xs:byte" name="Version_Minor"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="App_Data" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute type="xs:string" name="App" use="optional"/>
                      <xs:attribute type="xs:string" name="Name" use="optional"/>
                      <xs:attribute type="xs:string" name="Value" use="optional"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>

在尝试生成类时,它正在抛出以下的预期

  

lineNumber:56; columnNumber:33;财产&#34;价值&#34;已定义。   使用&lt; jaxb:property&gt;解决这个冲突。

尝试在xsd的相同位置使用以下绑定文件,但仍无法正常工作

<jxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="2.1">
    <jxb:bindings schemaLocation="BaseADI.xsd">
        <jxb:bindings node="//xs:element[@name='App_Data']">        
            <jxb:bindings node=".//xs:attribute[@name='Value']">
                <jxb:property name='ValueAttribute' />
            </jxb:bindings>         
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>

然后我得到了解析: -

  

错误]解析模式时出错。位置[   ........... / binding.xjb {6,55}]。 com.sun.istack.SAXParseException2

绑定文件是否是解决问题的正确选项。 任何意见或建议表示赞赏。

0 个答案:

没有答案