我的 XSD 中的所有子元素都有基类
<xs:complexType name="BaseItem">
<xs:attribute name="id" type="string" use="required"/>
</xs:complexType>
和这个元素的扩展器
<xs:complexType name="Package">
<xs:complexContent>
<xs:extension base="BaseItem">
<xs:sequence>
<xs:element name="SubElement" type="SubElementType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Class">
<xs:complexContent>
<xs:extension base="BaseItem">
<xs:sequence>
<xs:element name="SubElement2" type="SubElementType2"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
.......
etc....
这个 XSD 的 xml 示例:
XML1:
<Root><Package id="xxx"><SubElement/></Package></Root>
XML2:
<Root><Class id="xxx"><SubElement2/></Class></Root>
XML3:
<Root><Method id="xxx"><SubElement3/></Method></Root>
XML4:
<Root><Method id="xxx"><SubElement3/></Method></Root>
如何在此 XSD 中指定根元素而不定义所有可能的子元素?
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
//?????
</xs:sequence>
</xs:complexType>
</xs:element>
有什么方法可以通过基本类型指定孩子吗?话:
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<element type="BaseItem"/>
</xs:sequence>
</xs:complexType>
</xs:element>
或者不指定元素名称这是不可能的?