<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2011 (http://www.altova.com) by qmy (sigmartix) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="学生集合"> <xs:complexType> <xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:element ref="学生"/> <xs:element ref="老师" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="学生"> <xs:complexType> <xs:sequence> <xs:element name="姓名" type="xs:string"/> <xs:element name="性别"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="男"/> <xs:enumeration value="女"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="年龄"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minExclusive value="0"/> <xs:maxExclusive value="120"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> <xs:attribute name="学号" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="老师"> <xs:complexType> <xs:sequence> <!-- 多个属性的设置,多个属性的时候type就不能有类型了 --> <xs:element name="姓名"> <xs:complexType> <xs:attributeGroup ref="personattrgroup"/> </xs:complexType> </xs:element> <xs:element name="性别"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="男"/> <xs:enumeration value="女"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="年龄"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minExclusive value="0"/> <xs:maxExclusive value="120"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="person"> <xs:complexType> <xs:sequence> <!-- Group 指示器用于定义相关的数批元素。--> <xs:group ref="persongroup"/> <xs:element name="county" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="教工号" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:attributeGroup name="personattrgroup"> <xs:attribute name="firstname" type="xs:string"/> <xs:attribute name="lastname" type="xs:string"/> <xs:attribute name="birthday" type="xs:date"/> </xs:attributeGroup> <xs:group name="persongroup"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="birthday" type="xs:date"/> </xs:sequence> </xs:group> </xs:schema>
group指示器,persongroup不以元素形式出现,和element+complexType 是有所区别的
<?xml version="1.0" encoding="UTF-8"?> <学生集合 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/Users/Administrator/Documents/Altova/XMLSpy2011/Examples/studentNode.xsd"> <学生 学号="A1"> <姓名>CIACs</姓名> <性别>男</性别> <年龄>22</年龄> </学生> <老师 教工号="A8"> <姓名 firstname="zhangsan" lastname="lisi" birthday="1998-06-07"></姓名> <性别>男</性别> <年龄>15</年龄> <person> <firstname>zhangsan</firstname> <lastname>lisi</lastname> <birthday>1992-02-03</birthday> <county>china</county> </person> </老师> <学生 学号="A1"> <姓名>CIACs</姓名> <性别>男</性别> <年龄>22</年龄> </学生> <学生 学号="A1"> <姓名>CIACs</姓名> <性别>男</性别> <年龄>22</年龄> </学生> </学生集合>