嵌套XSD存在問題。我有我的文檔結構的MAIN文件具有相同的HEADer(我想保持它分開 - 工作良好),我想有幾個機構,取決於其內容。 我的問題是如何以適當的方式連接它?嵌套XSD定義
MAIN.XSD:
<xs:schema id="MAIN" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="">
<xs:include schemaLocation="HEAD.xsd"/>
<xs:element name="MAIN">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="HEAD" type="HEADType"/>
<xs:element name="BODY" type="BODYType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
HEAD.XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="HEAD" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="" >
<xs:complexType name="HEADType">
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="USER">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z_]+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>
想法,我有如下:
- 使 「MAIN」 在MAIN.xsd類型MAINTYPE的元素,然後將MAIN.XSD包含到已定義BODYType的BODY_CUSTOMER中。
- 單獨加載MAIN.xsd和BODY_CUSTOMER.xsd,然後它會找到BODYType的定義。
但是,我不認爲這是做到這一點的「正確」方式。
對HEAD和BODY使用相同的文件! ..在HEAD.XSD中將BODYType並行定義爲HEADType(將其重命名爲HEADBODY.XSD) –