XSD 纯文字元素

  • 定义和使用

    复杂的纯文本元素可以包含文本和属性。
  • 复杂的纯文字元素

    此类型仅包含简单的内容(文本和属性),因此我们在内容周围添加了 simpleContent 元素。 使用简单内容时,必须在 simpleContent 元素中定义扩展名或限制,如下所示:
    <xs:element name="somename">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="basetype">
            ....
            ....
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
    
    OR
    
    <xs:element name="somename">
      <xs:complexType>
        <xs:simpleContent>
          <xs:restriction base="basetype">
            ....
            ....
          </xs:restriction>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
    提示:使用扩展/限制元素来扩展或限制该元素的基本简单类型。
    这是一个 XML 元素 "shoesize" 的示例,其中包含纯文本:
    <shoesize country="france">35</shoesize>
    下面的示例声明一个 complexType,"shoesize"。 内容定义为整数值,"shoesize" 元素还包含一个名为 "country" 的属性:
    <xs:element name="shoesize">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:integer">
            <xs:attribute name="country" type="xs:string" />
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
    我们还可以给 complexType 元素命名,并让 "shoesize" 元素具有一个类型属性,该属性引用 complexType 的名称(如果使用此方法,则多个元素可以引用相同的复杂类型):
    <xs:element name="shoesize" type="shoetype"/>
    <xs:complexType name="shoetype">
      <xs:simpleContent>
        <xs:extension base="xs:integer">
          <xs:attribute name="country" type="xs:string" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>