<?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</年龄></学生> </学生集合>