XML网页设计实用教程第四章 XML验证技术Schema(1)
合集下载
利用schema验证xml文档

1、利用schema验证xml文档内容的正确性
1)建立xsd文件: code4_2.xsd
2)建立一个基于schema验证的xml文件:
注:因pubdate元素在schema中定义为date型(默认格式:yyyy-mm-dd),所以提示无效。
2、在schema中自定义简单的数据类型:myinteger, 其
取值范围为:100~10000。
1)建立自定义数据类型的schema文件:
myinteger.xsd
2) 建立基于schema的xml文档,验证其有效性:
3、枚举类型:从若干选项中选择其中一个值
4、联合类型
1)建立一个用于表示学生成绩的由评定等级(gradetype)或数值范围(scoretype)的联合类型
2) 建立基于上述schema的xml文档,验证其有
效性
①对scoretype类型的验证(取值范围:0~100)
②对gradetype类型的验证(枚举类型:优,良,及
格,不及格)
5、数据绑定
1)建立HTML文档
2)建立xml文档。
第4章续微软XML Schema简介

4.3.3元素声明和子元素声明
子元素声明(例ex4-5.xml) 那么第四项任务就应该由Microsoft XML Schema文档的子元素声明来完成了,其 语法格式为: <element type=“元素名称” minOccurs=“0”或“1” maxOccurs=“1”或“*” >
当属性minOccurs和属性maxOccurs都不设置时,其默认值为1!
4.2.2应用名域——名域的范围和默认
名域的范围即名域的作用域,规定了名域的元 素及其子元素的“势力范围”,具体来说它有 如下规律可循:
一级名域 一级名域即出现在根元素中的名域声明,如果 元素前默认标记码,则继承隐含式声明的名域;如 果要改名名域的范围,则应加上明确式声明的标记。 (例EX5-9.XML) 二级名域 二级名域即出现在子元素中的名域声明,它在该 子元素以及下面各层子元素中具有限定作用,当该 子元素结束后,又以一级名域规定的范围为准。(例 EX5-10.XML)
4.3.2属性声明和元素属性声明
在DTD文档中声明属性,回想起来应该完 成如下任务:
属性的名称 属性的数据类型 属性的默认值 属性属于哪个元素所有 既然DTD文档能够圆满完成,那么 Microsoft XML Schema文档又应该如何解决这 些问题呢?
4.3.2属性声明和元素属性声明
属性声明(AttributeType)
首先介绍Microsoft XML Schema文档如何完成前3项任 务。那么是如何实现的呢?只需要在Microsoft XML Schema文档中进行属性声明就行了,其语法格式为: <AttributeType name=“属性名称” required=“yes”或“no” dt:values=“枚举值” default=“默认值” dt:type=“数据类型”> … </AttributeType>
第四章 xml schema使用

minLength、maxLength
• <xs: minLength>、<xs:maxLength >分别 用于指定字符串最小长度和最大长度。 • 在字符串中,无论是中文还是英文都被 当作一个字符看待。
取值范围 minInclusive maxInclusive
• <?xml version="1.0"?> • <xs:schema xmlns:xs="/2001/XMLSchema"> • <xs:element name="mark"> • <xs:simpleType> • <xs:restriction base="xs:integer"> • <xs:minInclusive value="0"/> • <xs:maxInclusive value="100"/> • </xs:restriction> • </xs:simpleType> • </xs:element> • </xs:schema>
xs:time
• 时间。格式:hh:mm:ss • <xs:element name=“start_time” type=“xs:time”> • < start_time >12:08:06</ start_time > • < start_time >12:08:06.51</ start_time > • < start_time >12:08:06Z</ start_time >
XML验证技术Schema

Intro.xml
<根元素名 xmlns:xsi="/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="intro-schema.xsd"> …… 通过 </根元素名> noNamespaceSchema Location属性来指定 XML文档的schema
XML
技 术 基 础
XML验证技术Schema
E C J T U N I V E R S I T Y
人民邮电出版社
本课目标
命名空间 XML Schema简介 XML Schema的两种模式 W3C Schema
– W3C XML Schema完整的示例 – W3C Schema的数据类型
intro.xml <?xml version="1.0"?> <!--对应的XML文档--> <根元素名 xmlns="x-schema:intro-schema.xml"> …… </根元素名> 用名空间的方式指定
XML文档的schema
属性和数据类型的 来源
14
人民邮电出版社
XSD Schema模式
人民邮电出版社
XDR Schema模式
intro-schema.xml <?xml version=„1.0‟ encoding=„gb2312‟?> <!--schema文档intro-schema.xml--> <Schema xmlns="urn:schemas-microsoft-com:xml-data“ xml:dt ="urn:schemas-microsoft-com:datatypes”> <!- -元素声明部分和属a>
第四章 XML Schema

• 三、使用命名空间引入多个XML Schema文 档
文件清单:xmlbook.xml <?xml version=”1.0” encoding=”UTF-8”?> <书架 xmlns=”http:/xmlbook/schema” xmlns:demo=”/demo/schema” xmlns:xsi=/2001/XMLSchema-instance xsi:schemaLocation=” http:/xmlbook/schema /xmlbook.xsd /demo/schema /demo.xsd”> <书> <书名>XML实用教程</书名> <作者>马在强</作者> <售价 demo:币种=”人民币”>20.00元</售价> </书> </书架>
第四章 XML Schema
L/O/G/O
•
4.1 如何制定XML Schema Definition(XSD)
– – – – 4.1.1 命名空间 4.1.2 全局组件与命名类型 4.1.3 局部组件与匿名类型 4.1.4 XML文档如何引用XML Schema文件
•
4.2 XML Schema元素的声明
• 二、使用命名空间引入XML Schema文档 示例如下页:
文件清单:xmlbook.xml <?xml version=”1.0” encoding=”UTF-8”?> <书架 xmlns=”http:/xmlbook/schema” xmlns:xsi=/2001/XMLSchema-instance xsi:schemaLocation=” http:/xmlbook/schema /xmlbook.xsd”> <书> <书名>XML实用教程</书名> <作者>马在强</作者> <售价>20.00元</售价> </书> </书架>
第4章 在XML文档中使用 Scherma

自定义数据类型(2)
1.限定数值范围
XML Schema中提供了4种标记用来限制数值的范围, <maxInclusive>、<minInclusive>、<maxExclusive>和<minExclusive>它 们都有一个“value”属性,意义分别为: (1)<maxInclusive> 表示小于等于“value”属性的值。 (2)<minInclusive> 表示大于等于“value”属性的值。
第4章 XML Scherma
4.1 XML Schema概述 4.2 XML Schema的文档结构 4.3 XML Schema标记及属性定义 4.4 全局声明和局部声明 4.5 XML Schema的组定义 4.6 XML Schema中的注释 4.7 XML Schema命名空间
4.1 什么是XML Schema(1)
简单类型标记的定义(2)
<element>标记的属性名称和作用见下表:
属性名称 name type 作用 表示标记的名称,值为XML的有效名称 表示标记内容的类型
ref
use
表示引用已经定义的标记,不能和type同时使用
表示该标记出现的类型,值分可以是optional、prohibited或required。所 代表的意义分别是可选的、禁止的和必须的
声明是一份xml
关于booklist的说明
使用默认的命 名空间
<?xml version="1.0" encoding="GB2312"?> <xs:schema xmlns:xs="/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="booklist"> <xs:complexType> <xs:sequence> <xs:element name="book" type="bookType" maxOccurs="unbounded"/> 最多出现的次数 自定义 </xs:sequence> </xs:complexType> </xs:element>
XML技术实用教程PPT教案学习

<name>张三< / name>
2.具有验证机制
DTD(Document Type Definition)
XML Schema
3.灵活的WEB应用
XML中数据和显示格式是分离设计
4.丰富的显示样式 第9页/共23页 XML数据定义打印、显示排版信息主要有3种方法
2021/4/27
10
XML技术实用教程
会计学
1
为什么学习XML?
XML实际上是Web上表示结构化信息的一种标准文本格式,它没有复杂的语 法和包罗万象的数据定义。
XML是一种跨平台的,与软、硬件无关的,处理信息的工具。 XML将成为最普遍的数据操纵和数据传输的工具。 如果开发者有足够的预见性,那么将来的应用程序都应该使用XML的形式来
XML是被设计用来描述数据的,重点是: 什么是数据,如何存放数据。
HTML是被设计用来显示数据的,重点是: 显示数据以及如何显示数据更好上面。
HTML是与显示信息相关的, XML则是与描 述信息相关的。 第8页/共23页
2021/4/27
9
1.2 XML特点和应用前景
1.2.1 XML的特点
1.良好的格式
第一:数据和现实的分离。
比如说你手头上有一篇的资料(我们这里先假定是文字的资料,因为如果涉及到图,影像等范 围就太广了,也不是我只能力所及),是xml的数据的格式,好了,如果你的客户想通过互联 网看看你的资料。你就可以使用一个aaa.xsl把你的xml的数据格式化为HTML的格式,同时这 里面有个补充一点,因为你可以控制你要显示的内容,你可以过滤掉对于客户不能看到的信 息。但是这里面你并没有动原来的数据。
数据库领域数据库领域xmlxml数据库数据库网页或文档中的表格这三者可以互相转换网页或文档中的表格这三者可以互相转换第11页共23页20216131355agentagent智能体智能体xmlxml能够更准确地表达信息的真实内容其严格的能够更准确地表达信息的真实内容其严格的语法降低了应用程序的负担也使智能工具的开发语法降低了应用程序的负担也使智能工具的开发更为便捷更为便捷软件设计元素的交换软件设计元素的交换xmlxml也可以用来描述软件设计中有关的设计元素也可以用来描述软件设计中有关的设计元素第12页共23页20216131413xml13xml131131层状结构数据模型层状结构数据模型xmlxml文档的数据结构是树状结构相当于原来文档的数据结构是树状结构相当于原来的层次型数据库系统的层次型数据库系统titlebooksbookbookbookbookinforecomendationresumechapterbookbookinforesumerecomendationcapterauthorpublishpricetitleparapublisherisbnpubdate第13页共23页202161315xmlxml语法基本点语法基本点pp1212xmlxml要遵循规则要遵循规则ww33cc推荐规则规定的推荐规则规定的xmlxml语法语法xmlxml文档只能包含一个根元素文档只能包含一个根元素所有所有xmlxml元素必须包含结束标记元素必须包含结束标记元素的开始标记和结束标记的名称必须相同元素的开始标记和结束标记的名称必须相同xmlxml元素不能重叠元素不能重叠所有属性值都必须使用引号所有属性值都必须使用引号第14页共23页202161316133xml133xml文档的结构文档的结构p13p131
2.具有验证机制
DTD(Document Type Definition)
XML Schema
3.灵活的WEB应用
XML中数据和显示格式是分离设计
4.丰富的显示样式 第9页/共23页 XML数据定义打印、显示排版信息主要有3种方法
2021/4/27
10
XML技术实用教程
会计学
1
为什么学习XML?
XML实际上是Web上表示结构化信息的一种标准文本格式,它没有复杂的语 法和包罗万象的数据定义。
XML是一种跨平台的,与软、硬件无关的,处理信息的工具。 XML将成为最普遍的数据操纵和数据传输的工具。 如果开发者有足够的预见性,那么将来的应用程序都应该使用XML的形式来
XML是被设计用来描述数据的,重点是: 什么是数据,如何存放数据。
HTML是被设计用来显示数据的,重点是: 显示数据以及如何显示数据更好上面。
HTML是与显示信息相关的, XML则是与描 述信息相关的。 第8页/共23页
2021/4/27
9
1.2 XML特点和应用前景
1.2.1 XML的特点
1.良好的格式
第一:数据和现实的分离。
比如说你手头上有一篇的资料(我们这里先假定是文字的资料,因为如果涉及到图,影像等范 围就太广了,也不是我只能力所及),是xml的数据的格式,好了,如果你的客户想通过互联 网看看你的资料。你就可以使用一个aaa.xsl把你的xml的数据格式化为HTML的格式,同时这 里面有个补充一点,因为你可以控制你要显示的内容,你可以过滤掉对于客户不能看到的信 息。但是这里面你并没有动原来的数据。
数据库领域数据库领域xmlxml数据库数据库网页或文档中的表格这三者可以互相转换网页或文档中的表格这三者可以互相转换第11页共23页20216131355agentagent智能体智能体xmlxml能够更准确地表达信息的真实内容其严格的能够更准确地表达信息的真实内容其严格的语法降低了应用程序的负担也使智能工具的开发语法降低了应用程序的负担也使智能工具的开发更为便捷更为便捷软件设计元素的交换软件设计元素的交换xmlxml也可以用来描述软件设计中有关的设计元素也可以用来描述软件设计中有关的设计元素第12页共23页20216131413xml13xml131131层状结构数据模型层状结构数据模型xmlxml文档的数据结构是树状结构相当于原来文档的数据结构是树状结构相当于原来的层次型数据库系统的层次型数据库系统titlebooksbookbookbookbookinforecomendationresumechapterbookbookinforesumerecomendationcapterauthorpublishpricetitleparapublisherisbnpubdate第13页共23页202161315xmlxml语法基本点语法基本点pp1212xmlxml要遵循规则要遵循规则ww33cc推荐规则规定的推荐规则规定的xmlxml语法语法xmlxml文档只能包含一个根元素文档只能包含一个根元素所有所有xmlxml元素必须包含结束标记元素必须包含结束标记元素的开始标记和结束标记的名称必须相同元素的开始标记和结束标记的名称必须相同xmlxml元素不能重叠元素不能重叠所有属性值都必须使用引号所有属性值都必须使用引号第14页共23页202161316133xml133xml文档的结构文档的结构p13p131
第四章_XSD(XML Schema)

4.2 XML Schema的基本架构
xmlns="" 指出默认 的命名空间是 ""。 elementFormDefault="qualified" 指出任何 XML 实例文档所使用的且在此 schema 中声明过 的元素必须被命名空间限定。
4.1 XML Schema的基础
XML Schema Part0:Primer:第一部分是在 描述和使用范例说明一些XML Schema的重点, 此部分是学习和了解XML Schema的开始; XML Schema Part1:Structures:第二部分 是定义XML Schema的文件架构,说明 element、attribute等元素的声明和使用; XML Schema Prat2:Datatypes:第三部分 是内置数据类型的定义。
4.2 XML Schema的基本架构
xmlns:xs=“/2001/XMLSche ma"显示 schema 中用到的元素和数据类型来自 命名空间 /2001/XMLSchema” 同时它还规定了来自该命名空间 的元素和数据类 型应该使用前缀 xs: targetNamespace=“. cn” 显示被此 schema 定义的元素来自命名空间: ""。
NMTOKENS
Name NCName ID IDREF IDREFS ENTITY
是用空格分隔的NMTOKEN
XML文档的名称,是一个token字符串 XML文档中不含名域前缀的名称 取唯一值,以字母开头 参考ID属性取值 其它元素的ID属性值列表,用空格分隔 实体
表4-3-2内置派生类型
数据类型 ENTITIES integer nonPositiveInteger negativeInteger long int short byte nonNegativeInteger unsignedLong 说明 用空格分隔的实体 整数 从负无穷到等于零的整数 从负无穷到小于零的整数 长整数,-9223372036854775808 9223372036854775807 整数,-2147483648 - 2147483647 短整数,-32768 - 32767 位整数,-128 -127 从大于等于零到无穷 无符号长整数,0 - 18446744073709551615
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《XML技术基础》
--XML验证技术Schema
本课目标
命名空间 XML Schema简介 XML Schema的两种模式 W3C Schema
W3C XML Schema完整的示例 W3C Schema的数据类型
简单数据类型 复杂数据类型 W3C Schema元素声明 W3C Schema属性声明 元素、 属性综合例题
命名空间
一般命名空间在根元素处声明; 命名空间作用于它所在的元素及该元素内部所有子 元素。 如果子元素又声明了新命名空间,且使用与原命名 空间相同的前缀但URI不同时,新命名空间将覆盖 原来的命名空间。 默认的命名空间不作用于属性(非默认的命名空间 作用之);默认的命名空间如果遇到空值,下级命 名空间将被取消。
命名空间
XML命名空间是XML解决元素多义性和名字冲突 问题的方案。 W3C组织的推荐用书对XML命名空间的解释是: “XML命名空间是命名的汇集,它由URI(统一 资源标识)确定,在XML文件中作为元素标识和 属性名使用”。 命名空间是名称上相关的一组名称的汇集,在同一 空间中每一个名称都必须唯一。例如,可以将某个 班的学生姓名作为一个命名空间,也可以将某企业 的产品名称作为一个命名空间。 命名空间表示了名称的来源和使用范围。通过命 名空间可以区分来自不同的XML应用但具有相同 名称的标识,可以把来自某种XML应用的相关元 素和属性集合在一起,以方便软件识别和处理。
W3C Schema元素属性声明
引入外部模式文档 W3C的几种命名空间
小结
命名空间
Namespaces翻译为名字空间或命名空间。 当我们在一个XML文档中使用他人的或者多个 DTD文件,就会出现这样的矛盾:因为XML中标 识都是自己创建的,在不同的DTD文件中,标识 名可能相同但表示的含义不同,这就可能引起数 据混乱。 例如:在一个文档中<table>wood table</table>中 <table>表示桌子,而在另一个文档 <table>namelist</table>中<table>表示表格。如果我 需要同时处理这两个文档,就会发生名字冲突。
命名空间
namespaces通过给标识名称加一个网址(URL)定位的方法来 区别这些名称相同的标识。 命名空间一般用属性xmlns来声明,声明的语法如下: <元素名 xmlns:前缀名=„URL‟> xmlns:命名空间属性名,是声明命名空间必需的属性 。 prefix:命名空间的前缀,它的值不能为XML。在引用 此命名空间中的名称时,需要在名称前加“prefix: ”。 URI:统一资源标示符(Uniform Resource Identifier), 是一个标识网络资源的字符串。最普通的URI应该是统 一资源定位符(Uniform Resource Locator ,URL),URL 用于标识网络主机的地址。另一个不常用的URI是通用 资源名字(Universal Resource Name ,URN),这是一个 相对固定的地址。
命名空间
引用此名空间中的元素、属性的方法: 前缀名:元素名 或 前缀名:属性名 声明时若前缀名省略,则声明的是缺省的空 间,引用缺省名空间中的元素、属性时可不 加前缀名;默认的命名空间的声明语法格式为:
<元素名xmlns="URI">
命名空间
在根元素处定 义名空间属性
<?xml version="1.0"?> <nsEleme34;/Style" xmlns:qinghua=""> <myelement> 使用缺省名空间 <default-element> this is element use default namespace prefix </default-element> 使用指定名空间 <ss1:aa> this is element use ss1 namespace prefix </ss1:aa> <qinghua:aa> this is element use qinghua namespaceprefix </nqinghua:aa> </myelement> </nsElement>
命名空间
<?xml version="1.0" encoding="gb2312"?> <nsElement xmlns="" 此元素的命名空间是: xmlns:aa=""> <myelement xmlns:aa=""> <aa:element1>覆盖原来的命名空间</aa:element1> 此属性不属于 任何命名空间 此元素不属于 </myelement> 任何命名空间 <youelement xmlns:bb="" id="a1" xmlns=""> <element2>此元素不属于任何命名空间</element2> </youelement> <bb:element3>此元素超出了命名空间作用域</bb:element3> </nsElement> 此元素超出了命名
空间作用域
XML Schema简介
Schema与DTD的关系
Schema与DTD的作用相同,它们各自以不同的方式来 描述XML文档结构,都用于文档验证。
XML Schema简介
Schema与DTD的比较
DTD使用EBNF语法,Schema基于XML语法。Schema可以像其他 XML文档一样被解析和处理 DTD描述的是XML文件的结构,而非元素内容,因此DTD不能进 行数据有效性检查;例如:<price>文字</price> Schema大大扩充了数据类型,可以自定义数据类型【数字型、整 型、布尔型、日期时间型】 Schema提供一个可扩充的内容模式,而DTD扩展性差; Schema可对整个XML文档或文档局部进行验证,而DTD缺乏这种 灵活性。 Schema支持名称空间, DTD不支持命名空间。
--XML验证技术Schema
本课目标
命名空间 XML Schema简介 XML Schema的两种模式 W3C Schema
W3C XML Schema完整的示例 W3C Schema的数据类型
简单数据类型 复杂数据类型 W3C Schema元素声明 W3C Schema属性声明 元素、 属性综合例题
命名空间
一般命名空间在根元素处声明; 命名空间作用于它所在的元素及该元素内部所有子 元素。 如果子元素又声明了新命名空间,且使用与原命名 空间相同的前缀但URI不同时,新命名空间将覆盖 原来的命名空间。 默认的命名空间不作用于属性(非默认的命名空间 作用之);默认的命名空间如果遇到空值,下级命 名空间将被取消。
命名空间
XML命名空间是XML解决元素多义性和名字冲突 问题的方案。 W3C组织的推荐用书对XML命名空间的解释是: “XML命名空间是命名的汇集,它由URI(统一 资源标识)确定,在XML文件中作为元素标识和 属性名使用”。 命名空间是名称上相关的一组名称的汇集,在同一 空间中每一个名称都必须唯一。例如,可以将某个 班的学生姓名作为一个命名空间,也可以将某企业 的产品名称作为一个命名空间。 命名空间表示了名称的来源和使用范围。通过命 名空间可以区分来自不同的XML应用但具有相同 名称的标识,可以把来自某种XML应用的相关元 素和属性集合在一起,以方便软件识别和处理。
W3C Schema元素属性声明
引入外部模式文档 W3C的几种命名空间
小结
命名空间
Namespaces翻译为名字空间或命名空间。 当我们在一个XML文档中使用他人的或者多个 DTD文件,就会出现这样的矛盾:因为XML中标 识都是自己创建的,在不同的DTD文件中,标识 名可能相同但表示的含义不同,这就可能引起数 据混乱。 例如:在一个文档中<table>wood table</table>中 <table>表示桌子,而在另一个文档 <table>namelist</table>中<table>表示表格。如果我 需要同时处理这两个文档,就会发生名字冲突。
命名空间
namespaces通过给标识名称加一个网址(URL)定位的方法来 区别这些名称相同的标识。 命名空间一般用属性xmlns来声明,声明的语法如下: <元素名 xmlns:前缀名=„URL‟> xmlns:命名空间属性名,是声明命名空间必需的属性 。 prefix:命名空间的前缀,它的值不能为XML。在引用 此命名空间中的名称时,需要在名称前加“prefix: ”。 URI:统一资源标示符(Uniform Resource Identifier), 是一个标识网络资源的字符串。最普通的URI应该是统 一资源定位符(Uniform Resource Locator ,URL),URL 用于标识网络主机的地址。另一个不常用的URI是通用 资源名字(Universal Resource Name ,URN),这是一个 相对固定的地址。
命名空间
引用此名空间中的元素、属性的方法: 前缀名:元素名 或 前缀名:属性名 声明时若前缀名省略,则声明的是缺省的空 间,引用缺省名空间中的元素、属性时可不 加前缀名;默认的命名空间的声明语法格式为:
<元素名xmlns="URI">
命名空间
在根元素处定 义名空间属性
<?xml version="1.0"?> <nsEleme34;/Style" xmlns:qinghua=""> <myelement> 使用缺省名空间 <default-element> this is element use default namespace prefix </default-element> 使用指定名空间 <ss1:aa> this is element use ss1 namespace prefix </ss1:aa> <qinghua:aa> this is element use qinghua namespaceprefix </nqinghua:aa> </myelement> </nsElement>
命名空间
<?xml version="1.0" encoding="gb2312"?> <nsElement xmlns="" 此元素的命名空间是: xmlns:aa=""> <myelement xmlns:aa=""> <aa:element1>覆盖原来的命名空间</aa:element1> 此属性不属于 任何命名空间 此元素不属于 </myelement> 任何命名空间 <youelement xmlns:bb="" id="a1" xmlns=""> <element2>此元素不属于任何命名空间</element2> </youelement> <bb:element3>此元素超出了命名空间作用域</bb:element3> </nsElement> 此元素超出了命名
空间作用域
XML Schema简介
Schema与DTD的关系
Schema与DTD的作用相同,它们各自以不同的方式来 描述XML文档结构,都用于文档验证。
XML Schema简介
Schema与DTD的比较
DTD使用EBNF语法,Schema基于XML语法。Schema可以像其他 XML文档一样被解析和处理 DTD描述的是XML文件的结构,而非元素内容,因此DTD不能进 行数据有效性检查;例如:<price>文字</price> Schema大大扩充了数据类型,可以自定义数据类型【数字型、整 型、布尔型、日期时间型】 Schema提供一个可扩充的内容模式,而DTD扩展性差; Schema可对整个XML文档或文档局部进行验证,而DTD缺乏这种 灵活性。 Schema支持名称空间, DTD不支持命名空间。