学习xsd 2
锺英彦
2023-12-01
复杂类型是指定义元素中包含属性或者子元素的类型
1、只包含子元素的复杂类型
<xsd:element name="person">定义一个元素
<xsd:complexType>它的类型是复杂类型
<xsd:sequence>它包含以下两个简单类型的元素
<xsd:element name="firstname" type="xsd:string"/>
<xsd:element name="lastname" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
2、只包含属性的复杂类型
<xsd:element name="person" type="prod"/>定义一个元素,它的类型是prod
<xsd:complexType name="prod">定义一个复杂类型,名字是prod
<xsd:attribute name="prodid" type="xsd:positiveInteger">为它定义一个属性,类型是int
</xsd:complexType>
3、定义一个只包含内容和属性的复杂类型
<xsd:element name="" type="content"/>
<xsd:complexType name="content">
<xsd:simpleContent>表示这个类型的元素下边不包含元素,只包含内容
<xsd:extension base="xsd:integer">类型为integer的扩展
<xsd:attribute name="country" type="xsd:string"/>有自己的属性country
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
4、包含内容、属性和元素的复杂类型(以下这种将类型定义放在元素里的形式称为:匿名类型,只适合于此元素)
<xs:element name="letter">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="orderid" type="xs:positiveInteger"/>
<xs:element name="shipdate" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>