一个完整的schema验证xml的样例
xml文件:
<reference xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3school.com.cn J.xsd"> <author authorLoc="1">陈路瑶</author> <title>信息文档结构信任模式的提取及逻辑描写叙述</title> <type>J</type> <publisher>计算机应用研究</publisher> <publish_year>2010</publish_year> <volumn_mark>27</volumn_mark> <page_number>4624-4629</page_number> </reference>
schema文件(J.xsd):
<?xml version="1.0" encoding="GB2312"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3school.com.cn" targetNamespace="http://www.w3school.com.cn" elementFormDefault="qualified"> <xs:element name="reference"> <xs:complexType> <xs:sequence> <xs:element name="author" type="authorInfo" minOccurs="1" maxOccurs="1"/> <xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="publish" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="publisher" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="publish_year" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="volumn_mark" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="page_number" minOccurs="1" maxOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="(\d{1,4}-)?
\d{1,4}"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="authorInfo"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="authorLoc" use="required"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema>