1
에 빈 대상 노드 결과
나는 다음과 같은 간단한 XML 스키마 ...XPATH는 XJB
<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 컴파일러에 암시하고 싶습니다 "유형".
<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를 수정하지 않고 이러한 목표를 달성하는 방법을 도와 드릴까요?
//xs:element[@name='ReferenceID']//xs:complexType//xs:attribute[@name='Type']//xs:simpleType
^^
을하지만 스키마에서 요소는 복잡한 유형의 일부입니다
내가 바인딩 파일의 동작에 대해 잘 모르겠지만, XPath 식을 실행 :
시도하십시오 ''xmlns : xs = "http://www.w3.org/2001/XMLSchema"') 또는 네임 스페이스없이 그것을 사용하십시오 :'// * [local-name() = 'element'] [@ name = 'ReferenceID' ] * * [local-name() = 'complexType'] // * [local-name() = '속성'] [@ name = '유형' ]' – helderdarocha