1.shiporder.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- 这里的id是六位数 -->
- <shiporder orderid="889923"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="shiporder.xsd">
- <orderperson>John Smith</orderperson>
- <shipto>
- <name>Ola Nordmann</name>
- <address>Langgt 23</address>
- <city>4000 Stavanger</city>
- <country>Norway</country>
- </shipto>
- <item>
- <title>Empire Burlesque</title>
- <note>Special Edition</note> <!-- 这里可以没有,如下元素 -->
- <quantity>1</quantity>
- <price>10.90</price>
- </item>
- <item>
- <title>Hide your heart</title>
- <quantity>1</quantity>
- <price>9.90</price>
- </item>
- </shiporder>
2.shiporder.xsd 全面
- <?xml version="1.0" encoding="UTF-8" ?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:simpleType name="stringtype">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
- <xs:simpleType name="inttype">
- <xs:restriction base="xs:positiveInteger"/>
- </xs:simpleType>
- <xs:simpleType name="dectype">
- <xs:restriction base="xs:decimal"/>
- </xs:simpleType>
- <xs:simpleType name="orderidtype"> <!-- 限定id6位0到9的数 -->
- <xs:restriction base="xs:string">
- <xs:pattern value="[0-9]{6}"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="shiptotype">
- <xs:sequence>
- <xs:element name="name" type="stringtype"/>
- <xs:element name="address" type="stringtype"/>
- <xs:element name="city" type="stringtype"/>
- <xs:element name="country" type="stringtype"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="itemtype"> <!-- 声明一个复杂类型 -->
- <xs:sequence>
- <xs:element name="title" type="stringtype"/>
- <xs:element name="note" type="stringtype" minOccurs="0"/> <!-- 最少可以是0个,也就是不用填写! -->
- <xs:element name="quantity" type="inttype"/>
- <xs:element name="price" type="dectype"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="shipordertype"> <!-- 声明一个复杂类型 -->
- <xs:annotation>
- <xs:documentation>
- 我是一个说明文件位于shipordertype下面
- </xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="orderperson" type="stringtype"/>
- <xs:element name="shipto" type="shiptotype"/>
- <xs:element name="item" maxOccurs="2" type="itemtype"/> <!-- 允许出现两个item -->
- </xs:sequence>
- <xs:attribute name="orderid" type="orderidtype" use="required"> <!-- 指定属性 -->
- <xs:annotation>
- <xs:documentation>我是一个位数字orderidtype</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- <xs:element name="shiporder" type="shipordertype">
- <xs:annotation>
- <xs:documentation>
- 我是一个说明文件位于shiporder下面
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:schema>
3.简单的引入
- <?xml version="1.0" encoding="ISO-8859-1" ?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <!-- definition of simple elements -->
- <xs:element name="orderperson" type="xs:string"/>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="address" type="xs:string"/>
- <xs:element name="city" type="xs:string"/>
- <xs:element name="country" type="xs:string"/>
- <xs:element name="title" type="xs:string"/>
- <xs:element name="note" type="xs:string"/>
- <xs:element name="quantity" type="xs:positiveInteger"/>
- <xs:element name="price" type="xs:decimal"/>
- <!-- definition of attributes -->
- <xs:attribute name="orderid" type="xs:string"/>
- <!-- definition of complex elements -->
- <xs:element name="shipto">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="name"/>
- <xs:element ref="address"/>
- <xs:element ref="city"/>
- <xs:element ref="country"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="item">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="title"/>
- <xs:element ref="note" minOccurs="0"/>
- <xs:element ref="quantity"/>
- <xs:element ref="price"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="shiporder">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="orderperson"/>
- <xs:element ref="shipto"/>
- <xs:element ref="item" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute ref="orderid" use="required"/>
- </xs:complexType>
- </xs:element>
- </xs:schema>