1. 程式人生 > >一個完整的schema驗證xml的樣例

一個完整的schema驗證xml的樣例

art ng- ack namespace odi occurs enum spa get

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>




一個完整的schema驗證xml的樣例