三、schema之元素和属性
1.编写schema文件
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/Schema02" xmlns:tns="http://www.example.org/Schema02" elementFormDefault="qualified"> <element name="books"> <complexType> <sequence maxOccurs="unbounded"> <element name="book"> <complexType> <sequence minOccurs="1" maxOccurs="unbounded"> <element name="title" type="string"/> <element name="content" type="string"/> <choice> <element name="author" type="string"/> <element name="authors"> <complexType> <sequence maxOccurs="3"> <element name="author" type="string"></element> </sequence> <attribute name="id" type="int" use="required"/> </complexType> </element> </choice> </sequence> <attribute name="id" type="int" use="required"/> </complexType> </element> </sequence> </complexType> </element> </schema>
2.编写xml文件验证schema文件是否正确
<?xml version="1.0" encoding="UTF-8"?> <book:books xmlns:book="http://www.example.org/Schema02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/Schema02"> <book:book id="1"> <book:title>TILE1</book:title> <book:content>this book id ok</book:content> <book:author>author</book:author> </book:book> <book:book id="2"> <book:title>TILE2</book:title> <book:content>this book2 id ok</book:content> <book:authors id="1"> <book:author>jeck</book:author> <book:author>nike</book:author> </book:authors> </book:book> </book:books>
其中:
sequence :表示元素按照制定顺序显示
minOccurs,maxOccurs : 表示最少,最多出现次数(unbounded,任意多次)
all :表示元素顺序任意,但是只能出现一次
choice:表示多个元素里任选一个
attribute:定义属性 必须在complexType内,sequence之后