[英]Error when generating JAVA classes with JAXB: XPath evaluation of results in empty
我有一個 XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.xyz.m" xmlns="http://www.xyz.m" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="N1" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="N_A">
<xs:simpleType>
<xs:restriction base="xs:byte">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="3"/>
<xs:totalDigits value="2">
</xs:totalDigits>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="N_B" minOccurs="1" maxOccurs="14">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我創建了一個.xjb
文件來生成:
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
version="2.1">
<jaxb:bindings node="//xs:schema//xs:complexType[@name='N1']">
<jaxb:class name="N1_XJB" />
</jaxb:bindings>
</jaxb:bindings>
我使用了xjc -b binding.xjb TestXSD.xsd
命令,但我收到了這條錯誤消息:
[ERROR] XPath evaluation of "//xs:schema//xs:complexType[@name='N1']" results in empty target node line 6
我嘗試了在 Stackoverflow 上找到的所有方法,但無法生成。
所以我的問題是, .xjb
文件中缺少什么?
這對我有用:
<xs:element name="N1" minOccurs="0">
中刪除minOccurs
。 因為此屬性會產生以下錯誤: [ERROR] s4s-att-not-allowed: Attribute 'minOccurs' cannot appear in element 'element'.
.xjb
文件中,您必須更改以下行: <jaxb:bindings node="//xs:schema//xs:complexType[@name='N1']">
到:
<jaxb:bindings schemaLocation="TestXSD.xsd" node="//xs:schema//xs:element[@name='N1']">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.