1

我正在尝试从指定 url 处可用的 Xml Schema 创建一个 java 类。我正在使用 netbeans Jaxb 绑定来实现这一点。

我收到错误消息:

    [ERROR] Property "Title" is already defined. Use <jaxb:property> to resolve this conflict.
 line 481 of file:/C:/Users/Documents/NetBeansProjects/JavaApplication1/xml-resources/jaxb/newbinding/tims.cisco.com/xsd/T2.xsd

[ERROR] The following location is relevant to the above error
line 38 of file:/C:/Users/Documents/NetBeansProjects/JavaApplication1/xml-  resources/jaxb/newbinding/tims.cisco.com/xsd/xlink.xsd

failure in the XJC task. Use the Ant -verbose switch for more details
  C:\Users\Documents\NetBeansProjects\JavaApplication1\nbproject\xml_binding_build.xml:15: unable to parse the schema. Error messages should have been provided

我还检查了一些帖子,这些帖子告诉我要更改但我不知道如何在 netbeans 中做到这一点。如果有人能给我一个示例 XML Schema 并解释如何克服 netbeans 中的这个错误,那将会很有帮助。

我的示例架构将是这样的:

     <xs:schema xmlns="http://someurl" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xlink="http://www.w3.org/1999/xlink" targetNamespace="http://nsurl"   
elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.7">
 <xs:include schemaLocation="./something.xsd" /> 
 <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="./xlink.xsd" /> 
 <xs:element name="elename">
<xs:annotation>
  <xs:documentation>Root element</xs:documentation> 
 </xs:annotation>
<xs:complexType>
 <xs:sequence>
 <xs:element ref="element1" minOccurs="0" /> 
<xs:choice maxOccurs="unbounded">
<xs:element ref="Element2" maxOccurs="unbounded" /> 
<xs:element ref="element3" maxOccurs="unbounded" /> 

<xs:element ref="element4" /> 
<xs:element ref="element5" /> 
<xs:element ref="element6" maxOccurs="unbounded" /> 
<xs:element ref="Elemnt7" maxOccurs="unbounded" />  
<xs:element name="Member" type="MemberType" /> 
<xs:element ref="Path" /> 
</xs:choice>
<xs:element name="Timestamp" type="xs:dateTime" minOccurs="0" /> 
<xs:element name="ExecutionTime" type="xs:double" minOccurs="0" /> 
</xs:sequence>
<xs:attribute name="msgID" type="xs:NMTOKEN" use="optional" /> 
<xs:attributeGroup ref="xlink:simpleLink" /> 
</xs:complexType>
</xs:element>
</xs:schema>

我也是 xml 的新手。有人可以帮助我使用 jaxb 在 netbeans 中创建类或发布指针来手动为这个模式创建一个 java 类。

结果应该类似于链接中给出的内容: http ://www.java2s.com/Code/Java/JDK-6/GenerateJavaSourceFromXMLSchemaXSD.htm

我正在使用如下外部绑定文件

 <jxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
               jxb:version="2.0">
      <jxb:bindings [schemaLocation="T2.xsd" node="/xs:schema">
      <jxb:bindings node=".//xs:element[@name='Title']">
       <jxb:property name="TitleElement"/>
      </jxb:bindings>
      </jxb:bindings>
      </jxb:bindings>

我在 Netbeans 中创建 jaxb 绑定时使用了这个外部绑定文件,但它仍然显示相同的错误。如果你能说出我做错了什么我需要立即帮助,请抽出时间来解决这个问题。提前致谢.

4

1 回答 1

1

您的问题可以通过更改架构来解决,例如如何解决重复变量中所示的方式。

于 2013-02-27T10:28:53.543 回答