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</年龄>
    </学生>
</学生名册>
时间: 2024-08-27 14:13:33

XML Schema模式定义的相关文章

XML文档类型定义---XML Schema结构

5.1 Schema概述 XML Schema是2001年5月正式发布的W3C的推荐标准,经过数年的大规模讨论和开发如今终于尘埃落定,成为全球公认的XML环境下首选的数据建模工具. 使用DTD虽然带来较大的方便,但是,DTD存在一些缺陷:一是它用不同于XML的语言编写,需要不同的分析器技术.这增加了工具开发商的负担,降低了软件瘦身的可能性,此外开发人员需要多学一门语言及其语法.而XML Schema是按标准XML规则编写的,更容易掌握.二是DTD不支持名称空间.随着大部分的数据处理日益以XML为

XML详解:第二部分 XML Schema

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4290897.html XML Schema. 22 全局/局部声明/定义... 23 模式与名称空间... 23 目标名称空间... 23 局部元素和属性的限定... 24 未声明目标名称空间... 26 在XML实例文档中引用Schema

XML Schema/XSD

                                                                      XML Schema XML Schema 是基于 XML的 DTD替代者. XML Schema 可描述 XML文档的结构. XML Schema 语言也可作为 XSD(XML Schema Definition)来引用. XML Schema: 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目

Schema模式简介

一. Schema概述 在XML技术成为万维网推荐标准之后,DTD体现出的不少局限性,万维网协会又推出了用于描述.约束.检验XML文档的新方法:Schema(XML架构).Schema也是用来定义XML文档.并利用该定义验证XML文档是否符合要求的一种技术.Schema对XML文档结构的定义和描述主要作用是用来约束XML文档,并验证XML文档有效性. Schema文档中的元素通过使用element关键字来声明.元素声明定义了元素名称.内容和数据类型等属性.按照元素在Schema中的位置来分,在架

XML Schema编程快速入门

一.XML Schema简介 XML Schema 使用一套预先定义好元素和属性 二.XML Schema的定义和使用 1.编写数据XML文件 2.编写Schema文件 .xsd 引入W3C名称空间:xmlns="http://www.w3.org/2001/XMLSchema" 编写schema内容,对每一个元素,用一个<elementname=""></element>表示,包含其他元素的元素称为复杂元素,需要加<complexTy

XML Schema验证

XML Schema验证 一.什么事Schema(XSD) XML Schema是微软定义的一套用来验证XML技术.是一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式. DTD的局限性: 1.DTD不遵循XML语法. 2.DTD的数据类型有限,与数据库类型不一致. 3.DTD不可以扩展. 4.DTD是不支持命名空间的. Schema的优势: 1.Schema是一种XML语法结构,编写更加方便. 2.Schema可以支持数据类型. 3.Schema是可以扩展的.

XML Schema

XML Schema 是基于 XML 的 DTD 替代者. XML Schema 描述 XML 文档的结构. XML Schema 语言也称作 XMLSchema 定义(XML Schema Definition,XSD). 实例 <?xml version="1.0"?> <note> <to>George</to> <from>John</from> <heading>Reminder</he

XML Schema学习札记(2)——简单类型介绍

简易元素: 简易元素指哪些仅包含文本的元素,不包含其他任意的元素或属性. 在XMLSchema中,文本有很多类型.它可以是 XML Schema 定义中包括的类型中的一种(布尔.字符串.数据等等),或者它也可以是您自行定义的定制类型. 您也可向数据类型添加限定(即 facets),以此来限制它的内容,或者您可以要求数据匹配某种特定的模式. 定义元素的语法: ? 1 <xs:element name="xxx" type="yyy"/> 常用的类型: xs

XML Schema &lt;第三篇&gt;

原文:http://www.cnblogs.com/kissdodog/archive/2013/02/25/2931941.html 验证XML文档是否符合议定的XML结构有两种方法,分别是DTD模式与XML Schema.本文主要介绍XML Schema. 一.XML Schema的优点 XML Schema基于XML,没有专门的语法. XML Schema可以像其他XML文件一样解析和处理. XML Schema支持一系列的数据类型(int.float.Boolean.date等). XM