schema
独有xml名称空间(URI)
扩展名.xsd
–模式文档
–实例文档
根节点为schema
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" tagretNameSpace="http://www.itcast.cn" elementFormDefault="qualified">
<xs:element name="书架">
<xs:complexType>
<xs:sequence maxOccurs='unbounded'>
<xs:element name='书'>
<xs:compleType>
<xs:sequence>
<xs:element name='书名' type='xs:string'/>
<xs:element name='作者' type='xs:string'/>
<xs:element name='售价' type='xs:string'/>
</xs:sequence>
</xs:compleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8" ?>
<itcast:书架 xmlns:itcast="http://itcast.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.itcast.cn
book.xsd">
<itcast:书>
<itcast:书名>JavaScript</itcast:书名>
<itcast:作者>XXX</itcast:作者>
<itcast:售价>18元</itcast:售价>
</itcast:书>
默认名称空间
xmlns=”URI”
<书架 xmlns="http://itcast.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.itcast.cn
book.xsd">
</书架>
可引用多个名称空间
同时被多个约束文档约束
不使用名称空间引入schema文档,直接说明约束文档
<书架 xmlns="http://itcast.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceschemaLocation="xmlbook.xsd">
</书架>
语法
XSD简单元素
default:默认值
fixed:固定值
<xs:element name='xxx' type='yyy'/>
<xxx>aaa<xxx>
<xs:element name="color" type="xs:string" default="red"/>
- type
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
XSD属性
<xs:attribute name="xxx" type="yyy"/>
<xs:attribute name="lang" type="xs:string" use="required"/>
<!--use:必选属性-->
XSD限定/Facets
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="xx"/>
<xs:enumeration value="yy"/>
<xs:enumeration value="zz"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="num">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
XSD复杂元素
XSD空元素
XSD类型指示器
共7种
order指示器
- ALL
- Choice//选择
- Sequence//顺序
Occurence指示器
- maxOccurs//最大次数
- minOccurs//最小次数