1. 程式人生 > >按照xml文件寫Schema文件樣例——orders.xml

按照xml文件寫Schema文件樣例——orders.xml

odi space hid hone 長度 esp ase play AC

這裏沒有語法,只是把做過去的一個簡單小練習放上來。以便查閱。

1、xml文件:

技術分享圖片
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <orders xmlns="http://www.w3school.com.cn"
 3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4         xsi:schemaLocation="http://www.w3school.com.cn orders.xsd"> <!-- 所有訂單信息 -->
 5     <
order> <!-- 訂單,至少包含1個訂單 --> 6 <orderDate>2018-05-20</orderDate><!--orderDate為日期型 --> 7 <shipTo country="CN"><!-- 配送信息,country屬性必須出現 --> 8 <name>張三峰</name> <!-- 收件人,長度小於50 --> 9 <street>市中區濱河路778號5+3大酒店</
street> <!-- 縣/區及街道地址 --> 10 <city>樂山市</city> <!-- 市/區,長度小於50 --> 11 <state>四川省</state> <!-- 省/自治區/直轄市,長度小於50 --> 12 <phone>13999999999</phone> <!-- 聯系電話,要求必須是1開頭,後面第2位數字3-9,再後面是9個數字 --> 13 </shipTo>
14 <items> <!-- 商品列表,item應至少出現1次 --> 15 <item partNum="872-AA"> <!-- 商品編號屬性,必須有 --> 16 <productName>香辣雞翅</productName><!-- 商品名稱,長度小於50 --> 17 <quantity>1</quantity> <!-- 購買數量,至少是1 --> 18 <price>18.95</price> <!-- 單價為浮點數,大於0.0 --> 19 <shipDate>2018-05-21</shipDate> <!-- 配送日期 --> 20 </item> 21 <item partNum="926-AA"> 22 <productName>燒烤五花肉</productName> 23 <quantity>20</quantity> 24 <price>39.98</price> 25 <shipDate>2018-05-20</shipDate> 26 </item> 27 </items> 28 </order> 29 </orders> 30 31 <!-- 32 xmlns="http://www.example.org/01" 33 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 34 xsi:noNameSpaceSchemaLocation="orders.xsd" 35 -->
orders.xml

2、schema文件:

技術分享圖片
  1 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  2             targetNamespace="http://www.w3school.com.cn"
  3             xmlns="http://www.w3school.com.cn"
  4             elementFormDefault="qualified">
  5     <xsd:element name="orders">
  6         <xsd:complexType>
  7             <xsd:sequence>
  8                 <xsd:element ref="order" minOccurs="1" maxOccurs="unbounded"></xsd:element>
  9             </xsd:sequence>
 10         </xsd:complexType>
 11     </xsd:element>
 12     
 13     <xsd:element name="order">
 14         <xsd:complexType>
 15             <xsd:sequence>
 16                 <xsd:element name="orderDate" type="xsd:date" minOccurs="1" maxOccurs="1"></xsd:element>
 17                 <xsd:element ref="shipTo" minOccurs="1" maxOccurs="1"></xsd:element>
 18                 <xsd:element ref="items" minOccurs="1" maxOccurs="1"></xsd:element>
 19             </xsd:sequence>
 20         </xsd:complexType>
 21     </xsd:element>
 22     
 23     <xsd:element name="shipTo">
 24         <xsd:complexType>
 25             <xsd:sequence>
 26                 <xsd:element ref="name"></xsd:element>
 27                 <xsd:element name="street"></xsd:element>
 28                 <xsd:element name="city"></xsd:element>
 29                 <xsd:element name="state"></xsd:element>
 30                 <xsd:element ref="phone"></xsd:element>
 31             </xsd:sequence>
 32             <xsd:attribute name="country" type="xsd:string" use="required"></xsd:attribute>
 33         </xsd:complexType>
 34     </xsd:element>
 35     
 36     <xsd:element name="items">
 37         <xsd:complexType>
 38             <xsd:sequence>
 39                 <xsd:element ref="item" minOccurs="1" maxOccurs="unbounded"></xsd:element>
 40             </xsd:sequence>
 41         </xsd:complexType>
 42     </xsd:element>
 43     
 44     <xsd:element name="item">
 45         <xsd:complexType>
 46             <xsd:sequence>
 47                 <xsd:element ref="productName"></xsd:element>
 48                 <xsd:element ref="quantity"></xsd:element>
 49                 <xsd:element ref="price"></xsd:element>
 50                 <xsd:element name="shipDate" type="xsd:date"></xsd:element>
 51             </xsd:sequence>
 52             <xsd:attribute name="partNum" type="xsd:string" use="required"></xsd:attribute>
 53         </xsd:complexType>
 54     </xsd:element>
 55     
 56     <xsd:element name="name">
 57         <xsd:simpleType>
 58             <xsd:restriction base="xsd:string">     
 59                 <xsd:minLength value="0"/>
 60                 <xsd:maxLength value="50"/>
 61             </xsd:restriction>
 62         </xsd:simpleType>
 63     </xsd:element>
 64     
 65     <xsd:element name="phone">
 66         <xsd:simpleType>
 67             <!-- <xsd:restriction base="xsd:integer">
 68                 <xsd:minInclusive value="13000000000"></xsd:minInclusive>
 69                 <xsd:maxInclusive value="19999999999"></xsd:maxInclusive>
 70             </xsd:restriction> -->
 71             <xsd:restriction base="xsd:string">
 72                 <xsd:minLength value="11"></xsd:minLength>
 73                 <xsd:maxLength value="11"></xsd:maxLength>
 74                 <xsd:pattern value="1[3-9]{1}[0-9]{9}"></xsd:pattern>
 75             </xsd:restriction>
 76         </xsd:simpleType>
 77     </xsd:element>
 78     
 79     <xsd:element name="productName">
 80         <xsd:simpleType>
 81             <xsd:restriction base="xsd:string">
 82                 <xsd:maxLength value="50"/>
 83             </xsd:restriction>
 84         </xsd:simpleType>
 85     </xsd:element>
 86     
 87     <xsd:element name="quantity">
 88         <xsd:simpleType>
 89             <xsd:restriction base="xsd:integer">
 90                 <xsd:minInclusive value="1" />
 91             </xsd:restriction>
 92         </xsd:simpleType>
 93     </xsd:element>
 94     
 95     <xsd:element name="price">
 96         <xsd:simpleType>
 97             <xsd:restriction base="xsd:float">
 98                 <xsd:minInclusive value="0.1"></xsd:minInclusive>
 99             </xsd:restriction>
100         </xsd:simpleType>
101     </xsd:element>
102 </xsd:schema>
orders.xsd

和dtd有異曲同工之妙,但是各有利弊,不存在誰取代誰的,如果你是初學者又不幸看到我的博客,那麽請你去百度一下,找最前面的那幾個好好學習一下。

按照xml文件寫Schema文件樣例——orders.xml