三、schema之元素和属性

三、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之后

你可能感兴趣的:(schema)