xml的XSD架构,具有相同的名称但不同的类型

时间:2014-07-22 06:48:15

标签: xml xsd schema

如何构建声明此XML的所有元素的xsd:

<a>
  <myElement type="type1">
    <idElement>1</idElement>
    <TypeOneContent>my content</TypeOneContent>
  </myElement>
  <myElement type="type2">
    <idElement>2</idElement>
    <qteElemetType2>3</qteElemetType2>
  </myElement>
  <myElement type="type3">
    <idElement>3</idElement>
  </myElement>
</a>

2 个答案:

答案 0 :(得分:0)

这可能是您的XML的XSD

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="a">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="myElement" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:byte" name="idElement"/>
              <xs:element type="xs:string" name="TypeOneContent" minOccurs="0"/>
              <xs:element type="xs:byte" name="qteElemetType2" minOccurs="0"/>
            </xs:sequence>
            <xs:attribute type="xs:string" name="type" use="optional"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

答案 1 :(得分:0)

约束&#34;元素声明一致&#34;在XSD 1.0和XSD 1.1中都存在,如果两个兄弟元素具有相同的名称,则它们必须具有相同的类型。所以你的问题的答案是它无法完成。

相关问题