我有以下简单的 XML Schema...
<xs:complexType name="OrderReferenceType">
<xs:sequence>
<xs:element name="ReferenceID" type="xs:string"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SalesOrder"/>
<xs:enumeration value="CustomerPO"/>
<xs:enumeration value="WorkOrder"/>
<xs:enumeration value="Misc"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
而且我想提示 XJC JAXB 编译器,以便它应该为“Type”生成类型安全的枚举类。
<jaxb:bindings schemaLocation="file:./WorkOrder.xsd">
<jaxb:bindings node="//xs:element[@name='ReferenceID']//xs:complexType//xs:attribute[@name='Type']//xs:simpleType">
<jaxb:typesafeEnumClass name="TypeEnum" />
</jaxb:bindings>
但是当我运行命令时
xjc -d src workOrder.xsd -b CustomizedBindings.xjb
我收到以下错误。
parsing a schema...
[ERROR] XPath evaluation of "//xs:element[@name='ReferenceID']//xs:complexType//xs:attribute[@name='Type']//xs:simpleType" results in empty target node
line 69 of file:/C:/jaxB_workspace/jaxbExp/resources/mybindings.xjb
Failed to parse a schema.
有人可以帮助如何在不修改原始 XSD 的情况下实现这一目标吗?