XSD:具有相同名称的ComplexType元素

时间:2014-01-09 18:13:18

标签: xml xsd xsd-validation

我需要知道具有两个名为相同值的ComplexType的XSD文件是有效且通用的XSD文件吗?

1 个答案:

答案 0 :(得分:0)

您不能将两个全局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>