問題陳述我定義了以下 XSD:<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xc="XmlCache" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="XmlCache" schemaLocation="mdml/com/mycompany/mds/mdml/schema/xc.xsd"/> <xs:element name="MarketData"> <xs:complexType> <xs:sequence> <xs:element ref="xc:XmlCache" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element></xs:schema>該元素xc:XmlCache在文件中定義mdml/com/mycompany/mds/mdml/schema/xc.xsd。jaxb我想使用(帶插件)基于此 XSD 生成 Java 類jaxb2-maven-plugin。錯誤我在編譯過程中不斷收到以下錯誤:[錯誤] jar:file:/C:/Users/miannizzotto/.m2/repository/com/sun/xml/bind/jaxb-xjc/2.1.13/jaxb-xjc-2.1.13.jar!/com/sun /xml/xsom/impl/parser/datatypes.xsd[14,33] com.sun.istack.SAXParseException2;systemId: jar:file:/C:/Users/miannizzotto/.m2/repository/com/sun/xml/bind/jaxb-xjc/2.1.13/jaxb-xjc-2.1.13.jar!/com/sun/ xml/xsom/impl/parser/datatypes.xsd;行號:14;列數:33;屬性“值”已定義。使用 <jaxb:property> 解決此沖突。其次是[錯誤] 文件:/D:/v3.1.build.dev.asset.x.91253.5.4.dev/component/legacy/sdk/product-api/api/src/main/xsd/mdml/com/mycompany /mds/mdml/schema/xc.xsd[57,63] com.sun.istack.SAXParseException2;systemId: 文件:/D:/v3.1.build.dev.asset.x.91253.5.4.dev/component/legacy/sdk/product-api/api/src/main/xsd/mdml/com/mycompany/ mds/mdml/schema/xc.xsd;行號:57;列數:63;以下位置與上述er相關有罪檔案的結構該文件mdml/com/mycompany/mds/mdml/schema/xc.xsd非常大,但我只在下面放出有罪的部分(第 57 行及其樹的主要節點):<?xml version="1.0"?><!DOCTYPE xs:schema> ... <xs:attributeGroup name="valueAtt"> <xs:attribute name="value" use="optional" form="qualified"/> <!--this is line 57--> </xs:attributeGroup> ...</xs:schema>到目前為止我嘗試了什么?
1 回答

SMILET
TA貢獻1796條經驗 獲得超4個贊
最后,解決方案如下:
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
jaxb:version="1.0">
<jaxb:bindings schemaLocation="../xsd/mdml/com/mycompany/mds/mdml/schema/xc.xsd"
node="//xs:attributeGroup[@name='valueAtt']/xs:attribute[@name='value']">
<jaxb:property name="ValueAttribute"/>
</jaxb:bindings>
</jaxb:bindings>
基本上這是我的嘗試 3,將屬性名稱用單引號括起來。
添加回答
舉報
0/150
提交
取消