首页 > 代码库 > XML Schema模式定义
XML Schema模式定义
1 <?xml version="1.0" encoding="UTF-8"?> 2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 3 <!-- 全局声明自定义的简单类型gender_type --> 4 <xs:simpleType name="gender_type"> <!-- 简单类型,名字为gender_type, 就像是定义了一个对象, 以后可以直接使用这个gender_type --> 5 <xs:restriction base="xs:token"> <!-- xs 是w3里面定义好了的, xs:token 类似于 xs:string--> 6 <xs:enumeration value="男"/> <!-- enumeration 是枚举类型, 男和女只能选一个 --> 7 <xs:enumeration value="女"/> 8 </xs:restriction> 9 </xs:simpleType>10 11 12 <!--全局声明自定义的简单类型age_type -->13 <xs:simpleType name="age_type">14 <xs:restriction base="xs:int"> <!-- int 不可以有length -->15 <xs:maxExclusive value="200"/> <!-- 最大值 -->16 <xs:minInclusive value="0"/> <!-- 最小值 -->17 </xs:restriction>18 </xs:simpleType>19 20 <!--全局声明复杂类型的声明stu_type -->21 <xs:complexType name="stu_type">22 <xs:sequence>23 <xs:element ref="姓名"></xs:element> <!-- 声明一个姓名 元素标签 -->24 <xs:element ref="性别"></xs:element>25 <xs:element ref="年龄"></xs:element>26 </xs:sequence>27 <xs:attribute name="学号" type="xs:string" use="required"/> <!--声明学生的属性 属性值类型为 string , 必须要有。 -->28 29 </xs:complexType>30 31 <!--全局声明复杂类型的声明stu_list -->32 <xs:complexType name="stu_list">33 <xs:sequence>34 <xs:element name="学生" type="stu_type" maxOccurs="unbounded"/> <!-- minOccurs为最少出现个数,maxOccurs为最大出现个数,unbounded为不限制次数 --> 35 </xs:sequence>36 </xs:complexType>37 38 <!---元素的声明 -->39 <xs:element name="姓名" type="xs:token"></xs:element>40 <xs:element name="性别" type="gender_type"></xs:element>41 <xs:element name="年龄" type="age_type"></xs:element>42 <xs:element name="学生" type="stu_type"></xs:element>43 <xs:element name="学生名册" type="stu_list"></xs:element>44 </xs:schema>
上面是定义的schema,<<student.xsd>>
, 主要是用来声明复杂类型和简单类型,schame 和DTD 的定义有大部分相同,但是对于它的理解,还是没有太深。其中主要是ref 不能明确其意思
下面是一个xml文档
<?xml version="1.0" encoding="UTF-8"?><学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="student.xsd"> <学生 学号="A1"> <姓名>张三</姓名> <性别>男</性别> <年龄>20</年龄> </学生> <学生 学号="A2"> <姓名>李四</姓名> <性别>女</性别> <年龄>19</年龄> </学生> <学生 学号="A3"> <姓名>王二</姓名> <性别>男</性别> <年龄>21</年龄> </学生></学生名册>
XML Schema模式定义
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。