复杂的纯文字元素
此类型仅包含简单的内容(文本和属性),因此我们在内容周围添加了 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>