XML复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《XML实用技术教程》简述题答案
第一章 XML技术背景及其发展
3、简述题
1. 答:标记语言:用一系列约定好的标记来对电子文档进行标记,以实现对电子文档的语义、结构和格式的定义。
这些标记必须能够很容易地与内容相区分,并且易于识别。
2. 答:XML(Extensible Markup Language),即可扩展标记语言。
XML由W3C于1996年提出,并于1998 年2 月推出XML1.0 版。
XML是一种类似于HTML的标记语言,它属于SGML的子集,继承了SGML自定义标记的特点,在功能上弥补了HTML标记的不足,拥有更多的可扩展性。
简单来说,XML文档符合SGML文档规范,而且XML与HTML兼容。
XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
3. 答:XML技术的主要应用:(1)数据库交换技术。
XML可以被不同的平台和系统采用作为交流的媒介。
(2)分布式处理。
随着Web技术的发展,Java 将会和XML技术相得益彰,这样的应用也会变得越来越重要。
(3)信息发布。
采用XML 描述的数据,可以以不同的方式显示在不同用户的浏览器中。
服务器只需发出一份XML 文件,客户可根据需要选择不同的程序来处理数据。
(4 )智能化的Web 应用程序和数据集成。
例如大众媒体根据用户的“爱好”以一种标准的方式提供给用户的应用。
这些应用的实施都需要有XML格式的数据以实现可交互操作性,并因此允许智能Web 代理来为个人用户提供“个性化”的服务。
XML 严格的语法降低了应用程序的负担,使智能工具的开发更为便捷,来自不同应用程序的数据能转换到XML 这个统一框架中,进行交互、转化和进一步加工。
(5)电子商务应用。
XML技术的应用会加速电子商务的发展,XML有利于数据交换和传递的特性为电子商务,尤其是B2B带来革命性的冲击。
4. 答:XML相关的技术:(1 )命名空间(2)文档类型定义DTD 与XML Schema(3)XML的显示技术(4)XML链接技术(5)XML处理器接口技术
第二章 XML语法基础
3、简述题
1. 答:XML 元素(element)是XML 文档内容的基本单元。
一个元素由一个开始标记、一个结尾标记以及括在标记之间的文本字符数据组成。
其形式为:<tag_name>数据内容</tag_name>
2. 答:CDATA标记是XML中提供的一个特殊的标记。
括在CDATA标记中的内容将不被XML 解析器处理,而直接提供给应用程序。
CDATA 标记可用于标出不被XML 解析器处理的字符数据部分。
3. 答:格式良好的XML 文档:(1)文档的开始必须是XML 必要声明。
(2)含有数据的元素必须有起始标记和结束标记。
(3 )不含数据并且仅使用一个标记的元素必须以“/>”结束。
(4)文档智能包含一个能够包含全部其他元素的根元素。
(5)元素只能嵌套不能重叠。
(6)属性值必须加引号。
(7)字符<和&只能用于起始标记和实体引用。
(8)出现的实体引用只能有&、<、>、'和"。
4. 答:一个XML 文档如果满足:(1)这个XML 文档是well-formed;(2)这个XML 文档是根据DTD 来设计的文档,且这份文档的DTD 语法正确。
则这份XML文档称为是有效的。
第三章在XML文档中使用DTD
3、简述题
1. 答:将DTD 的指令独立存储成一个文件,然后在XML文档中指定使用的DTD 文件,这就是
外部DTD。
引用外部DTD 文件时,要在XML文档的序言区声明所要使用的DTD文件。
外部DTD 文件在XML文档中引用的语法格式为:<!DOCTYPE root_node SYSTEM “filename.dtd”> 2. 答:空元素是指在标记间没有任何数据,这时该元素需要使用EMPTY 关键字,通常空元素标记是用来指定相关属性。
如下所示:<!ELEMENT image (EMPTY)>
以上DTD 中定义的image元素就是一个空元素,其在XML文档中如下所示:<image/>
3.控制子元素出现次数的符号表:
语法声明使用符号表示的含义
+ 子元素最少出现一次
* 子元素出现零或多次
?子元素出现零或一次
| 子元素列表之一
(...)将元素列表括起来
(1)子元素只出现一次子元素只出现一次
<!ELEMENT 股东(姓名,持股数量)>
(2)子元素最少出现一次
<!ELEMENT 持股信息(股东+)>
(3)子元素出现零次或多次
<!ELEMENT 持股信息(股东*)>
(4)子元素出现零次或一次
<!ELEMENTAAA(BBB?)>
(5)子元素列表选择
<!ELEMENT 持股数量(武商股份| 神龙电业)*>
4. 答:DTD 中用下列格式声明元素属性:
<!ATTLIST element_name attribute_name attribute_type default_value>
其中,element_name是属性所属的XML元素名称;
attribute_name是属性名称;
attribute_type是属性值得种类;
default_value 是属性的默认值,用于指出属性是否需要出现或只是选项。
属性的默认值有三种:
①#REQUIRED:表示该属性是必需的,不能没有。
②#IMPLIED:表示该属性是可有也可以没有的情况。
③#FIXED:表示在XML文档中只会给出一个元素属性所定义的固定值。
第四章在XML文档中使用Schema
3、简述题
1. 答:通常是将XML Schema 保存为独立的Schema 文档文件,其扩展名为.xsd,然后在XML 的Instance文档中指定所使用的Schema文档。
以下是在XML中使用XML Schema的语法:
<root_element xmlns:xsi=”/2001/XMLSchema-instance”
xsi:noNamespaceSchemaLocation=”char04-01.xsd”>
在这项标记中元素属性为xsi:noNamespaceSchemaLocation,它指出不使用命名空间的方式以指定Schema 文档文件路径,使用的扩展名为.xsd。
与该属性对应的xsi:SchemaLocation 属性,是指使用命名空间的方式来指明Schema 文档文件的路径,故其属性值分为两部分,
两部分间以空格分隔,前一部分是命名空间,后一部分是文件路径的URL。
其格式如下:xsi:SchemaLocation=” /sample01.xsd”
2. 答:XML Schema 就是一份格式良好的XML文档。
因此,其基本结构也是一个树状的结构。
整个树状结构的根元素名称是Schema 元素,用于表明该XML文档是一个XML Schema 文档,紧接着是在Schema 元素下声明的其他子元素,同样,<Schema>结束标记应出现在文档末尾。
XML Schema 文档结构如下所示:
<Schema name=”schema-name” xmlns=”namespace”>
...
</Schema>
其中,name 指定该Schema 的名称。
xmlns 指定该Schema 包含的命名空间。
省略句则表示关于XML Schema 的子元素声明的语句,这些Schema 元素的子元素,其可使用的元素类型分为简单类型和复杂类型。
3. 答:复杂类型元素主要指拥有子元素或属性的元素,这类元素需要使用complexType元素以声明其子元素的名称和数据类型。
复杂类型元素并非特殊的类型,主要还是由用户自行定义、组合以创造出合适的元素。
复杂类型元素声明的语法如下:
<element name=“element_name“ type=“datatype“/>
<complexType name=“datatype“>
<sequence>
<element name=”sub_element_name”>
…
</sequence>
</complexType>
其中,element_name指复杂类型元素的名称。
datatype指自定义数据类型的名称。
sub_element_name指子元素的名称及其数据类型等内容。
Sequence是complexType元素的子元素,用于声明XML子元素的按顺序。
4. 答:DTD 历史悠久,XML从SGML集成了文档类型定义(DTD)。
DTD 提供了对XML文档有效性验证的一种机制。
XML Schema 提供XML文档结构和内容约束机制,以验证格式良好的XML 文档的有效性。
因此,从功能上来说,XML Schema 和DTD 大致是相同的,都是作为验证XML 文档之用。
但在机制实现及应用上有着很大的不同点。
(1) XML Schema 与DTD 结构不同
XML Schema 本身就是格式良好的XML文档,其语法就是XML语法,因此在使用上之需要与XML 文档使用相同的开发工具即可,而DTD 本身不是标记语言,有自己的一套语法。
因此给掌握和使用它带来额外的负担。
(2) XML Schema 支持命名空间机制
DTD 文件并不支持命名空间,XML 文档同时只能引用一份DTD,如果想要同时引用多个领域的XML规则时会遇到困难。
XML Schema 来自于XML,完全支持命名空间规范,也可以针对元素来设置所要引用的命名空间。
因此可以使XML文档有更大的扩展性。
(3) XML Schema 内容模型开放并具有高度扩展性
由 DTD 定义的XML 文档模型会详尽地描述模型中的每一个元素的内容,因此,若使用DTD 文件来验证XML文档,只要DTD 中没有被声明的元素或属性,就会导致验证失败,这种策略虽然严谨,但要在XML文档中添加一个元素或属性,就必须修改DTD。
XML Schema 在这方面进行了较大的改进,XML Schema 在其模式组织机制上提供了高度的扩充性,它允许模式用一
种合理的方式组合多个命名空间,以进行有效性验证,这之需要设置XML Schema 中的模式(model)属性为open即可。
这样的话,即使加上了未被定义的新元素,只要格式良好,也可以顺利地使用。
这时XML Schema 最突出的特点。
(4) XML Schema 数据类型丰富
DTD 定义中,元素仅有#PCDATA 类型,即所谓的字符串类型,而属性类型也仅有区区10 种类型而已。
XML Schema 却允许编程人员定义许多数据类型,除了预先定义好的简单类型之外,还可以方便地建立其他复杂和素具类型,而复杂数据类型则是由简单类型组合出的集合,因此可以面向对象的结构、类别相适应,以满足网络应用中对各类数据处理的需要。
第五章样式表技术
3、简述题
1. 答:使用级联式样式表(CSS),就是在浏览器定义各种标记的样式,以在浏览器中显示XML文档的内容。
CSS基本内容就是一系列指令。
指令由两部分组成。
一部分称为“选择器”,它告诉浏览器页面上哪个元素要受特定规则的约束;另一部分则由指令或规则的一系列“属性”组成,这些属性告诉浏览器如何显示由该规则约束的元素。
CSS的基本语法:
Selector
{
property1:value;
property2:value;
…
}
2. 答:(1)引用式:XML 文档本身不含有样式信息,而通过引用外部独立的CSS 文件来定义文档的表现形式。
具体实现的方法是,将CSS定义的样式独立存储为一个文件,在XML 文档的开头部分来指定所引用的CSS 文件。
这需要在XML 文档序言后加写一条关于样式表的声明语句,其语法格式如下:
<?xml-stylesheet type=”text/css” href=”css_uri”?>
(2)内嵌式:指将CSS样式指令直接嵌入到XML文档内部,为元素设置style属性,并在属性值中给出对其样式的定义。
内部CSS语法格式如下:
<HTML:STYLE xmlns:HTML=”/1999/xhtml”>
CSS样式指令
</HTML:STYLE>
3. 答:XML中声明XSL样式表,声明的语法格式如下:
<?xml-stylesheet type=”text/xsl” hef=”xsl_uri”?>
4. 答:XSL样式表的基本结构是一个树状结构,该结构的根元素名称为stylesheet,在这个元素中要指定所引用的命名空间。
紧跟其后的是其它各类子元素,其中,output 元素指明转换后的文件格式及编码方式;template元素为显示提供转换模板。
基本结构如下:
<stylesheet element>
<output element/>
<template element>
…
</template element>
<template element>
…
</template element>
</stylesheet element>
第八章 DOM接口技术
3、述题
答:DOM把XML文档表示为节点(node)对象树。
一个XML分析器,在对XML文档进行分析之后,不管这个文档有多简单活着多复杂,其中的信息都会被转化成一棵节点对象树。
在这棵节点对象树中,有一个根节点—Document 节点,所有其他的节点都是根节点的后代节点。
节点对象树生成之后,就可以通过DOM接口访问、修改、添加、删除、创建树中的节点和内容。
在XML文档中,信息是按层次化的树形结构组织的,DOM将一个XML温昂转换成一个节点树对象,即转换为一个对象模型集合。
所以,由DOM创建的节点对象树就是XML 文件内容的逻辑表示,它是用对象将XML 文档模型化。
通过这个节点对象树,展示了XML文档提供的信息以及它们之间的关系,而且不受XML语法限制。
第九章 SAX接口
3、简述题
说明SAX和DOM的区别:
DOM是基于树形结构的,得到W3C推荐并符合API标准的接口规范。
而SAX是由事件驱动,并有广泛支持API标准的接口规范。
DOM适合于结构化编辑XML文档,如排序、记录移动和其他应用共享XML文档操作。
而SAX效率高(不创建显示数据结构),适合大文档、内存与文档结构无关的任务,如计算XML文档节点数或提取特定节点内容。
第十章数据岛
什么是数据岛?
数据岛即是指存在于HTML网页中的XML代码段,这段代码用于记录数据,它在HTML中形成一个数据的集合。
数据岛使用<XML>标记把XML数据直接嵌入到HTML页面中,从而实现了两者的优势互补。