Xml 同名的XSD:ComplexType元素
我需要知道,具有两个名为相同值的ComplexType的XSD文件是有效的公共XSD文件吗 不能将两个全局Xml 同名的XSD:ComplexType元素,xml,xsd,xsd-validation,Xml,Xsd,Xsd Validation,我需要知道,具有两个名为相同值的ComplexType的XSD文件是有效的公共XSD文件吗 不能将两个全局xsd:complexType命名为同一名称。您也不能有两个名为相同的全局xsd:complexType元素 但是,您可以使用不同的名称空间来区分两者 您还可以将非全局xsd:complexType元素命名为相同的元素。请参见以下示例中的Book: <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/
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,如果我理解你的建议,当然,这里用来定义两个不同的Book
元素的匿名complexTypes
,如果我们希望它们可以用于其他元素的定义,那么可以全局定义并给出(不同的)名称。