用schema写样式表适配xml文件

---------------------------------------------------------------------------------------------------------------------------这里是xml文件及其要求

<?xml version="1.0" encoding="utf-8"?>

<orders xmnls:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="order,xsd">

<order>//至少包含一个订单

<orderDate>2018-05-12</orderDate>//日期型

<shipTo country="CN">//country属性必须出现

<name>张三</name>

<street>市中区滨河路234号</street>//长度少于50个字符

<city>乐山</city>

<state>四川省</state>

<phone>13999999999</phone>//第一个数字为1第二个为3-9后面的8位数字是0-9

</shipTo>

<items>

<item partNum="878=AA">//必须包含partNum属性

<productName>香辣鸡翅</productName>

<quantity>1</quantity>//购买数量至少是1

<price>18.59</price>//价格为double类型

<shipDate>2018-05-02</shipDate>//格式为日期格式

</item>

<item partNum="963=AA">//partNum必须出现

<productName>烧烤五花肉</productName>

<quantity>2</quantity>

<price>88.59</price>

<shipDate>2018-05-02</shipDate>

</item>

</items>

</order>

</orders>

----------------------------------------------------------------------------------------------------------------------------------------关联文件order.xsd

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="orders">//根标签

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="order" minOcurs="1" maxOcurs="unbounded"></xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="order">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="orderDate" type="xsd:date"></xsd:element>

<xsd:element ref="shipTo"></xsd:element>

<xsd:element ref="items"></xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="shipTo">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="name"></xsd:element>

<xsd:element ref="street"></xsd:element>

<xsd:element ref="city"></xsd:element>

<xsd:element ref="state"></xsd:element>

<xsd:element ref="phone"></xsd:element>

</xsd:sequence>

<xsd:attribute name="country" type="xsd:string" use="required"></xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:element name="street" type="xsd:string"></xsd:element>

<xsd:element name="state">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLenght value="50"></xsd:maxLength>

</xsd:restriction>

</xsd:simpleType>

</element>

<xsd:element name="name">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLenght value="50"></xsd:maxLength>

</xsd:restriction>

</xsd:simpleType>

</element>

<xsd:element name="phone">

<xsd:simpleType>

<xsd:restriction base="xsd:long">

<xsd:pattern value="[1][3-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"></xsd:pattern>

</xsd:restriciton>

</xsd:simpleType>

</xsd:element>

<xsd:element name="items">//根标签

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="item" minOcurs="1" maxOcurs="unbounded"></xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="item">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="productName"></xsd:element>

<xsd:element ref="quantity"></xsd:element>

<xsd:element ref="price"></xsd:element>

<xsd:element name="shipDate" type="xsd:date"></xsd:element>

</xsd:sequence>

<xsd:attribute name="partNum" type="xsd:string" use="required"></xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:element name="quantity">

<xsd:simpleType>

<xsd:restriction base="xsd:int">

<xsd:minInclusive value="1"></xsd:minInclusive >

</xsd:restriction>

</xsd:simpleType>

</element>

<xsd:element name="price">

<xsd:simpleType>

<xsd:restriction base="xsd:float">

<xsd:minInclusive value="0.0"></xsd:minInclusive >

</xsd:restriction>

</xsd:simpleType>

</element>

 

 

 

 

posted @ 2018-06-19 15:39  忘记过去想想未来  阅读(143)  评论(0编辑  收藏  举报