XSD 纯文本元素
复杂的纯文本元素可以包含文本和属性。
纯文本复杂元素
这种类型只包含简单的内容(文本和属性),因此我们在内容周围添加一个simpleContent元素。使用简单内容时,必须在simpleContent元素中定义扩展或限制,如下所示:
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
或
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Tip: 使用扩展/限制元素来扩展或限制元素的基简单类型。
以下是仅包含文本的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"元素具有一个引用complexType名称的type属性(如果使用此方法,则多个元素可以引用相同的复杂类型):
<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>