我在嵌套 XSD 时遇到问题。我有我的文档结构的 MAIN 文件,它具有相同的 HEADer(我想将它分开 - 效果很好)并且我想要有几个主体,这取决于它的内容。我的问题是如何以正确的方式连接它?
主.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>
头.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.xsd 中的“MAIN”元素作为 MAINTYPE 的类型,然后将 MAIN.XSD 包含到已定义 BODYType 的 BODY_CUSTOMER 中。
- 分别加载 MAIN.xsd 和 BODY_CUSTOMER.xsd,然后它会找到 BODYType 的定义。
但是,我认为这不是“正确”的做法。