用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>