在上一讲XML内容中,我们讲解了Schema的基本使用方法,这一讲我们继续上一讲内容来讲解一下XML中Schema的其他用法
1. 在上一讲程序中有sequence的用法,讲解一下
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="cat" type="xs:string"/> <xs:element name="dog" type="xs:string"/> <xs:complexType name="myType"> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:element ref="cat"/> <xs:element ref="dog"/> </xs:sequence> </xs:complexType> <xs:element name="pets" type="myType"/> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <pets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="pets.xsd"> <cat>hello</cat> <dog>world</dog> </pets>
[表示]:上面的XML文档中cat和dog这组元素有且只能出现一次。注意sequence中的元素必须是作为整体来看的,例如上面的dog和cat是一个整体的数据。
[说明]:sequence类型表示下面的元素是按顺序来的,顺序不能颠倒。其中有两个属性:
minOccurs = "1" 表示队列中的元素最小出现次数为1
maxOccurs = "1" 表示队列中的元素最大出现次数为1
[注意]:sequence用法表示限制出现次数,如果不写,默认是1,即最小最大都是1。如果最大次数不限制,就用 unbounded 属性值。[不绑定]
2. group元素
1) 作用:把一组元素声明组合在一起,以便它们能够一起被复合类型应用
2) 属性:name/ref3) 实例: