우리는 XSD 스키마 (특히 UBL 2.1 스키마)에 대한 설명서를 만들기 위해 XQuery 도구를 구축하고 있습니다.XQuery를 사용하여 XSD 스키마 단순화
이렇게하기 위해서는 요소 참조와 복잡한 유형을 광범위하게 사용하여 작성된 스키마를 인라인 정의로 단순화해야합니다.
따라서이 같은 요소 :
<xsd:element name="Order">
<xsd:complexType>
<xsd:sequence>
...
<xsd:element ref="cbc:UBLVersionID" minOccurs="0" maxOccurs="1">
<xsd:complexType name="UBLVersionIDType">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
...
</xsd:sequence>
</xsd:complexType> </xsd:element>
몇 가지 요소와 유형을 가져 스키마에 정의되어 있는지 계좌에서 촬영 :
<xsd:element name="Order" type="OrderType"/>
<xsd:complexType name="OrderType">
<xsd:sequence>
...
<xsd:element ref="cbc:UBLVersionID" minOccurs="0" maxOccurs="1"/>
...
</xsd:sequence>
</xsd:complexType>
...
(in another file)
<xsd:element name="UBLVersionID" type="UBLVersionIDType"/>
<xsd:complexType name="UBLVersionIDType">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
이 변환되어야합니다.
XQuery를 사용하여이를 얻을 수있는 알려진 방법이 있습니까?
감사합니다.
표시되는 대상 양식이 올바른 XSD 스키마 문서가 아님 출력물의 유일한 소비자가 문서 소프트웨어 인 경우 문제가되지 않습니다. 그러나 인라인 된 ('단순화 된'형식이 아닌) 형식을 사용하여 유효성을 검사하려는 경우 (원본과 동일한 문서를 수락하고 거부하는지 테스트하는 경우) 'ref'특성을 ' 이름 '속성. (그렇지만 가져 오기 기능이 있다면 어떤 경우에도 단일 스키마 문서 (xsd : schema 요소)에 스키마를 정의 할 수 없으므로 문제가되지 않을 수도 있습니다. –
맞습니다. 필자의 관심은 스키마 파일 집합 (이 경우 UBL)을 완전히 인라인 된 단일 파일로 변환하는 것입니다. –