1、单独定义类型,这种方法可以使得该定义的类型可以复用
<xs:simpleType name="shapes">
<xs:restriction base="xs:string">
<xs:enumeration value="triangle"/>
<xs:enumeration value="rectangle"/>
<xs:enumeration value="square"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="geometry" type="shapes"/>
2、类型的元素定义在一起,这种情况下类型不能在别的地方式用,相当于Java中的内部类的作用
<xs:element name="geometry">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="triangle"/>
<xs:enumeration value="rectangle"/>
<xs:enumeration value="square"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
3、引用已经定义的元素
<xs:complexType name="PersonType">
<xs:sequence>
<xs:element name="Title" type="xs:string"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="Surname" type="xs:string"/>
</xsd:sequence>
</xs:complexType>
<xs:element ref="PersonType"/>
4、使用内置类型
<xs:complexType name="PersonType">
<xs:sequence>
<xs:element name="Title" type="xs:string"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="Surname" type="xs:string"/>
</xsd:sequence>
</xs:complexType>
<xs:element ref="PersonType"/>