最新的Web开发教程
 

XSD仅文本元素


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


复杂文本仅元素

这种类型只包含简单内容(text and attributes) ,因此我们添加一个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>

Tip:使用扩展/ restriction元素扩展或限制基础简单类型的元素。

这里是一个XML元素的一个例子, "shoesize"它包含纯文本:

<shoesize country="france">35</shoesize>

下面的示例声明一个复杂类型, "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"元件有指复杂类型的名称(如果你使用这种方法,几个元素可以参考同一复杂类型)一个类型的属性:

<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>