第三章 有效的XML文件pptConvertorWord文档下载推荐.docx

上传人:b****3 文档编号:15716519 上传时间:2022-11-15 格式:DOCX 页数:20 大小:25.33KB
下载 相关 举报
第三章 有效的XML文件pptConvertorWord文档下载推荐.docx_第1页
第1页 / 共20页
第三章 有效的XML文件pptConvertorWord文档下载推荐.docx_第2页
第2页 / 共20页
第三章 有效的XML文件pptConvertorWord文档下载推荐.docx_第3页
第3页 / 共20页
第三章 有效的XML文件pptConvertorWord文档下载推荐.docx_第4页
第4页 / 共20页
第三章 有效的XML文件pptConvertorWord文档下载推荐.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

第三章 有效的XML文件pptConvertorWord文档下载推荐.docx

《第三章 有效的XML文件pptConvertorWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第三章 有效的XML文件pptConvertorWord文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。

第三章 有效的XML文件pptConvertorWord文档下载推荐.docx

T28>

开车时间:

20点58分

/T28>

/火车时刻表>

例2:

Time2.xml

开车时间

<

hour>

20点<

/hour>

minute>

58分<

/minute>

对于上述的两个文件我们都会知道T28的开车时间.但是对于解析器,两个文件的数据结构是不同的.第一个文件中标记“T28”的内容只有文本数据”开车时间:

20点58分”,而第二个文件中标记“T28”不仅有文本数据”开车时间

”还有子标记”hour”和”minute”解析器只有解析出子标记中的文本数据后,才能知道T28的开车时间.

注:

这里对空白区进行忽略.

规范的XML文件+对怎样组织数据进行具体的限制=

有效的XML文件.

对XML的数据结构的限制有两种方式:

文档类型定义(DocumentTypeDefinition)DTD

XMLSchema模式

两者区别

DTD文件

XMLSchema模式

具有独自语法结构的文件

是一个特殊的XML文件,

简单

比DTD更复杂

早于XMLSchema

针对一些问题,有时可能需要对XML文件中数据的组织(即数据结构)进行必要的限制,这样才能使解析器更好的解析其中的数据。

比如某个标记必须有两个子标记,某个标记不允许有子标记等等。

DTD与XMLSchema的区别:

DTD的语法与XML不同,而XMLSchema是一种特殊的XML文件。

DTD使用要早于XMLSchema,XMLSchema更复杂。

第八章还要介绍XMLSchema。

什么是有效的XML文件?

一个规范的XML文件如果和某个DTD文件相关联,并遵守该DTD文件规定的限制条件就称为有效的XML文件。

FORMOREINFO...

DTD文件的编码必须与相关联的XML文件一致。

当你保存文件时如果系统总是给你加上”.txt”,那你就要在文件名上加上双引号

DTD文件的编码必须和其关联的XML文件一致,也就是说,如果XML文件的编码为UTF-8,那么XML关联的DTD文件业必须依照UTF-8保存.

如我们这里给的例子:

XML文件保存为Time.xml名字的XML文件,编码方式为UTF-8;

而与Time.xml关联的DTD文件a.dtd我们也要用UTF-8编码方式保存.

注意:

在保存文件的时候,系统会给你的文件名尾部加上”.txt”,你在保存为别的名称的时候,可以将你保存的文件名及扩展名用双引号扩起.

XML文件与DTD的关联

关联的形式有如下两种

SYSTEM关联

SYSTEM关联表明所关联的DTD文件由个人或工作小组所定义且认可

PUBLIC关联

PUBLIC关联表明所关联的DTD文件已经得到某一领域的认可,是经过许多人讨论得到认可的DTD文件

我们在第一章的上机课的时候作一XML文件与CSS文件相关联的例子。

那么XML文件如何与DTD文件关联呢?

在XML中也用文档类型声明与一个DTD相关联。

XML文件与DTD的关联-SYSTEM关联型

SYSTEM关联型的文档类型声明格式

!

DOCTYPE根标记的名称SYSTEM“DTD文件的URI”>

例子:

DOCTYPE火车时刻表SYSTEM“a.dtd”>

DOCTYPE火车时刻表SYSTEM“../a.dtd”>

DOCTYPE火车时刻表SYSTEM“/file/a.dtd”>

统一资源标识符(UniformResourceIdentifier).URI必须是有效的资源.如果URI是一个文件的名字,该文件必须和当前的XML文件在同一目录下,如果不在同一目录下就要写清路径.如果是一个链接地址那么这个链接地址必须是可以访问的

dtd文件的URI必须是一个有效的资源,

如果URI是一个文件的名字,该文件必须和当前XML文件在同一目录中;

如果URI是一个链接地址,该地址必须是可以访问的,

使用URL可以使许多组织组织的XML文件共享同一个DTD文件.

XML文件与DTD的关联-PUBLIC关联型

PUBLIC关联型文档类型声明格式

DOCTYPE根标记的名称PUBLIC“正式公用标识符”“DTD文件的URI”>

正式公用标识符(FormalPublicIdentifier,FPI)格式:

“-//ISO认证//单位名称//DTD说明//所用语言”

DOCTYPEemployeePUBLIC

“-//ISO123456//ccutsoft//ForXML//EN”

FPI中不可以有非ASII码字符

FPI中不可以含有非ASII码字符

DTD–初识DTD

A.dtd

ELEMENT学生(小张,李四)>

ELEMENT小张(入学时间,毕业时间)>

ELEMENT李四(入学时间,毕业时间)>

ELEMENT入学时间(#PCDATA)>

ELEMENT毕业时间(#PCDATA)>

下面我们来看一个简单的例子

约束XML文件中的根标记”学生”只可以有且必须两个子标记”小张”和”李四”

约束XML文件中的标记”小张”只可以有且必须两个子标记”入学时间”和”毕业时间”

约束标记”入学时间”和”毕业时间”只能有文本数据,不可以有子标记,”#PCDATA”表示已解析的文本数据(是指不含有左尖括号、右尖括号、与符号、单引号和双引号的字符序列或者是CDATA)

A.dtd文件是对XML文件数据结构进行必要的的约束。

其中XML文件根标记“学生”只可以有且必须有两个子标记“小张”和“李四”。

关键字“#PCDATA”表示已解析的文本数据,所谓已解析的文本数据是指不含有左尖括号,右尖括号、与符号,单引号,双引号的字符序列或者是CDATA段的内容。

再讲第36页的例子。

ELEMENT列车时刻表(T28次,T226次)>

ELEMENTT28次(开车时间,终到时间)>

ELEMENTT2226(开车时间,终到时间)>

ELEMENT开车时间(hour,minute)>

ELEMENT终到时间(hour,minute)>

ELEMENThour(#PCDATA)>

ELEMENTminute(#PCDATA)>

?

xmlversion="

1.0"

encoding="

UTF-8"

?

>

DOCTYPE列车时刻表PUBLIC"

-//ISO88/china/xml/CH"

"

dtdFile.dtd"

>

列车时刻表>

T28次>

开车时间>

<

13点<

12分<

/开车时间>

终到时间>

23点<

/终到时间>

/T28次>

T226次>

08点<

45分<

19点<

36分<

/T226次>

/列车时刻表>

检查有效性

浏览器的XML解析器

仅仅检查XML文件关联的DTD文件是否有语法错误,并不检查XML文件是否遵守该DTD规定的约束条件。

DOM解析器

检查XML文件的规范,DTD文件的语法,

XML文件的引用,XML文件或DTD文件不存在等.

简单说一下37页的JAVA类

DTD–DTD中的元素

ELEMENT

用来约束XML文件中的标记.

在DTD中使用元素声明来定义一个元素。

其格式为:

ELEMENT标记名称标记的约束条件>

ELEMENT列车时刻表(T28,T29)>

声明开始

元素名称

声明结束

元素声明开始,“<

“、“!

”和“ELEMENT”中间不能有空格

注:

DTD文件中元素的作用与其在DTD文件中的书写位置无关。

在DTD文件中不能使用多个元素约束同一个标记,即使它们的约束条件相同

通过学习上面的学习我们知道了DTD的作用,接下来我们就深入的学习一下DTD

例子中列车时刻表有且必须有两个子标记T28和T29

这里要注意的一点,DTD文件中元素的作用与其在DTD文件中的书写位置无关。

在DTD文件中不能使用多个元素约束同一个标记,即使它们的的约束条件相同

DTD–ELEMENT作用

规定标记的子标记

限制标记只有文本数据

规定标记的混合内容

EMPTY和ANY

ELEMENT作用–规定标记的子标记

约束的内容

规定有那些子标记

子标记是否允许重复出现

子标记出现的顺序

这些约束内容出现在DTD中元素声明的“标记的约束条件”部分。

格式如下:

格式

ELEMENT标记名称(子标记列表)>

例子

ELEMENT开车时间(hour,minute)>

另外我们还可以在子标记列表中的子标记后加限定符号,限定符号如下:

子标记列表标记符

+限定符号的标记必须出现一次或多次

*限定符号的子标记可出现零次或多次

限定符号的子标记可出现零次或一次

ELEMENT开车时间(hour?

minute+)>

使用这种约束条件的元素将约束XML文件中相应的标记只可以有子标记,不可以含有能显示的文本数据。

看到上面元素的例子,进一步学习一下如何使用元素约束标记

Element中可以在这几个方面使用

子标记列表的分项也可以是几个标记的

“或运算”,他们必须用小括号扩起.

ELEMENT应聘者(姓名,(本科|硕士|博士),(男|女))>

约束标记“应聘者”顺序地有三个标记:

一个“姓名”标记,一个“本科”、“硕士”或“博士”标记,一个“男”或“女”标记

必须顺序有三个标记,姓名,本科或硕士或博士,男或女

ELEM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1