1
我需要知道具有两个名为相同值的ComplexType的XSD文件是有效且常见的XSD文件?XSD:具有相同名称的ComplexType元素
我需要知道具有两个名为相同值的ComplexType的XSD文件是有效且常见的XSD文件?XSD:具有相同名称的ComplexType元素
你不能有两个全球xsd:complexType
命名相同。您不能有两个全球xsd:complexType
元素命名相同。
但是,您可以区分使用不同的名称空间。
您还可以将非全局的xsd:complexType
元素命名为相同。在以下示例中参见Book
:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="BookStore">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Book" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Author"/>
<xsd:element name="Title"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Shelf">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Book" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Author"/>
<xsd:element name="ISBN"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
很好的例子来解释答案。为了增加你的答案,我们应该单独编写复杂类型,并在定义一个元素时使用这些类型的引用。因为复杂的类型可以在需要时重复使用。 – Joshi
@Joshi,如果我理解你的建议,当然,在这里用来定义两个不同的'Book'元素的匿名'complexTypes'可以在全局定义,并给定(不同的)名称,如果我们希望它们可用于其他元素。 – kjhughes