xml2第二部分.docx
- 文档编号:13132665
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:21
- 大小:21.98KB
xml2第二部分.docx
《xml2第二部分.docx》由会员分享,可在线阅读,更多相关《xml2第二部分.docx(21页珍藏版)》请在冰点文库上搜索。
xml2第二部分
第2章创建并显示第一个XML文档
本章对创建并在Web浏览器中显示XML文档的全过程有一个总体介绍。
首先,将创建一个
简单的XML文档,了解文档的结构,并且学习创建一个格式正确的XML文档的基本规则。
接着,
将通过创建并附带一个告诉浏览器怎样格式化文档中元素的简单样式表来了解怎样在Microsoft
InternetExplorer5Web浏览器中显示文档。
本章提供了这些主题的简要内容,本书其余部分将深入讨论这些主题。
2.1创建一个XML文档
因为XML文档是用纯文本写成的,所以可以使用你最喜欢的文本编辑器来创建它。
例如,
可以使用MicrosoftWindows附带的写字板编辑器。
或者,使用一种可使源代码输入更方便的编
程编辑器,例如MicrosoftVisualStudio文本编辑器(与MicrosoftVisualC++、MicrosoftVisual
InterDev、MicrosoftVisualJ++和其他VisualStudio应用程序一起发行的文本编辑器)。
2.1.1创建XML文档
1)在文本编辑器中打开一个新的空文本文件,并输入程序清单2-1中所示的XML文档。
(你
将在本书附带的光盘上文件名为Inventory.xml的文件中发现该程序清单的拷贝)。
如果你愿意,则可以忽略一些BOOK元素。
你无需输入全部8个BOOK元素—输入三或四
个即可。
(BOOK元素由
)
2)使用文本编辑器的“保存(Save)”命令把文档保存在硬盘上,并赋予文件名
Inventory.xml。
程序清单2-1
Inventory.xml
xmlversion="1.0"?
>
--FileName:
Inventory.xml-->
2.1.2XML文档剖析
一个XML文档,例如刚才输入的示例文档有两个主要组成部分:
序言(prolog)和文档元
素(documentelement)(文档元素也就是众所周知的根元素),如图2-1所示。
图2-1
1.序言
示例文档的序言由三行组成:
xmlversion"=1.0"?
>
--FileName:
Inventory.xml-->
第一行是XML声明(XMLdeclaration),它说明这是一个XML文档,并且给出版本号。
(在
写本书时,最新的XML版本是1.0。
)XML声明是可选的,尽管规范中说应该包括它。
如果没有
包括XML规范,那么必须出现在文档的开头。
序言的第二行包含空格。
要增强可读性,那么可以在序言的各项之间插入任意数量的空格。
XML处理器(XMLprocessor)忽略空格。
序言的第三行是注释。
给XML文档添加注释是可选的,但是这样可以增强文档的可读性。
注释以
--字符开头,以-->字符结束。
你可以在这两个字符组之间输入任何文本(除了--之
外);XML处理器忽略这些文本。
注意在本小节中提到的序言的所有组件都在本章稍后详细描述。
序言还可以包括下列可选组成部分:
•文档类型声明(documenttypedeclaration),它定义了文档的类型和结构。
如果使用了它,
序言
文档元素
根元素
XML声明
注释
嵌套在文
档元素中
的元素
下载
那么文档类型声明必须在XML声明之后。
•一个或多个处理指令(processinginstruction),它提供了XML处理器传递给应用
(application)的信息。
在本章稍后部分,将看到一个把样式表链接到XML文档的处理指令。
注意XML处理器是读取XML文档并提供对文档内容的访问的软件模块。
它提供的这
种对另一个软件模块的访问被称为应用,它负责管理并显示文档的内容。
当在Internet
Explorer5中显示XML文档时,浏览器同时提供了XML处理器和至少应用的一部分。
(如果编写了HTML和脚本代码来显示XML文档,那么你自己提供了应用的一部分。
)
注意,在这里使用的术语“应用”与XML应用(或词汇表)是不相同的,在第1章中,
XML应用被定义为可用来描述特定文档类型的通用元素集和文档结构。
2.文档元素
XML文档的第二个主要部分是单个元素,也就是说众所周知的文档元素或根元素,它可以
包含附加的元素。
在XML文档中,元素指出了文档的逻辑结构,并且包含了文档的信息内容(在示例文档是
图书的信息,例如标题、作者名和价格)。
一个典型的元素有起始标签、元素内容和结束标签。
元素的内容可以是字符数据、其他(嵌套的)元素或者两者的组合。
注意XML文档中的文本是由标记和字符数据混合成的。
标记(markup)是用来描述文
档结构的定界文本—即元素的起始标签、元素的结束标签、空元素标签、注释、文档
类型声明、处理指令、CDATA节定界符、实体引用和字符引用。
(我将在后续章节中介
绍每一种标记类型)所有其他的文本是字符数据—真正的文档信息内容(在这个示例
文档中,是指标题、作者名、价格和其他图书信息)。
在示例文档中,文档元素是INVENTORY。
其起始标签是
,其内容是八个嵌套的BOOK元素。
注意XML文档中的文档元素类似于HTML页中的BODY元素,除了可以赋予它任意合
法的名称之外。
每一个BOOK元素同样包括一系列的嵌套元素,如图2-2所示。
图2-2
类型
结束标签
内容
(嵌套元素)
起始标签
类型
注意出现在起始标签和结束标签开始处的名称就是众所周知的文档类型。
每一个嵌套在BOOK元素中的元素,例如元素TITLE,都只包含字符数据,如图2-3所示。
图2-3
在本书的第二部分,你将会学习所有有关给XML文档添加元素,以及在元素的起始标签中
包括属性的知识。
2.1.3一些基本的XML规则
下面是创建格式正确的XML文档的一些基本规则。
一个格式正确的文档是符合最小规则集
的文档,它可以被浏览器或其他程序处理。
你在本章前面输入的文档(程序清单2-1)是一个符
合这些规则的、格式正确的XML文档示例。
•文档必须正好有一个顶层元素(文档元素或根元素)。
所有其他元素必须嵌入到其中。
•元素必须被正确地嵌套。
也就是说,如果一个元素在另一个元素中开始,那么它必须在同
一个元素中结束。
•每一个元素必须同时拥有起始标签和结束标签。
与HTML不同,XML不允许忽略结束标签
—即使浏览器能够推测出元素在何处结束时也是如此。
(不过,在第3章中,将会学到一
种可以用于空元素—即没有内容的元素的简写法。
)
•起始标签中的元素类型名必须与相应结束标签中的名称完全匹配。
•元素类型名是大小写敏感的。
实际上,XML标记中的所有文本都是大小写敏感的。
例如,
下列元素是非法的,因为起始标签的类型名与结束标签的类型名不匹配:
--illegalelement-->
提示在本书的第二部分,你会发现编写格式正确的XML文档和有效的XML元素的详
细指导,它符合更严格的需求集。
2.2显示XML文档
你可以直接在InternetExplorer5浏览器中直接打开XML文档,就像打开一个HTMLWeb页
一样。
如果XML文档没有包含指向一个样式表的链接,那么InternetExplorer5将只显示整个文档
的文本,包括标记(例如,标签和注释)和字符数据。
InternetExplorer5用带颜色代码来区分
不同的文档组成部分,以便帮助你区别它们,并且以可收缩/扩展树的形式显示文档元素,以便
清楚地指出文档的逻辑结构并允许详细地查看各层。
类型类型
起始标签内容(字符数据)结束标签
但是,如果XML文档包含一个指向样式表的链接,那么InternetExplorer5只显示文档元素
的字符数据,并且根据在样式表中指定的规则格式化数据。
你可以使用级联样式表(CSS—与
HTML页使用的样式表类型相同)或可扩展样式表语言(XSL)编写的样式表(一种更加强大的
样式表类型,它使用了XML的语法,且只能用于XML文档)。
2.2.1显示没有样式表的XML文档
1)在Windows资源管理器或文件夹窗口中,双击上一次保存的文件名Inventory.xml,如图2-
4所示。
InternetExplorer5显示文档,如图2-5所示。
图2-5
2)试着改变文档元素中所显示的详细内容的层次。
单击起始标签左边的减号可以收缩元素,
而单击已收缩元素旁边的加号可以展开它。
例如,如果单击元素INVENTORY旁边的减号,就会
图2-4
整个文档元素将收缩,如图2-7所示。
图2-7
2.2.2在InternetExplorer5中获取XML错误
在InternetExplorer5中显示你的XML文档之前,其内置的XML语法分析程序将分析该文档
的内容。
如果语法分析程序检测到了一个错误,InternetExplorer5将显示一个包含错误消息的
页面,而不会显示该文档。
InternetExplorer5会显示错误页面,而不管XML文档是否链接到一
个样式表。
注意XML语法分析程序是负责扫描整个XML文档、分析文档结构以及检测语法错误
的XML处理器的一部分。
(参见下面对XML处理器的定义。
)
在下面的练习中,将通过故意引入一个错误到Inventory.xml文档中来研究InternetExplorer5
的错误检测特性。
1)在文本编辑器中打开在上一个练习中创建的Inventory.xml文档。
把第一个TITLE元素从
改为
2)保存修改过的文档。
3)在Windows资源管理器或文件夹窗口中,双击文档文件名Inventory.xml,如图2-8所示。
现在,InternetExplorer5不会显示XML文档,而显示如图2-9所示的
错误消息页。
注意正像你在本章中做的那样,当直接在InternetExplorer5中打开
一个XML文档时,语法分析程序将只检查文档是否格式正确,如果
发现错误则接着显示一个消息。
它不会检查文档是否有效。
图2-9
4)因为将在以后的章节中再次使用Inventory.xml,所以现在应该把第一个TITLE元素的结束
标签恢复为原来的形式(
即使没有把一个样式表链接到XML文档,InternetExplorer5也会使用一个缺省的XSL样式
表来显示文档;因此,错误页面指出“usingXSLstylesheet”。
你将在第10章学习XSL样式表。
提示当阅读本书中的各章节时,记住,你可以快速地检测一个XML文档是否是格式
正确(well-formed)的:
只要简单地在InternetExplorer5中直接打开它即可。
(正如在
第三部分描述的,如果通过一个HTML页来显示XML文档,那么有错误的XML文档将
不会显示,但是也不会看到一个错误消息,除非显式地编写脚本代码来显示它。
)
2.2.3使用级联样式表显示XML文档
1)在文本编辑器中打开一个新的空白文本文件,并且输入程序清单2-2中所示的CSS(你将
在本书附带光盘中名为Inventory01.css的文件中发现这个程序清单的拷贝)。
2)使用文本编辑器的“保存(Save)”命令在计算机硬盘上保存样式表,并赋予它名称
Inventory01.css。
你刚才创建的CSS告诉InternetExplorer5按照下面的方法格式化元素的字符数据:
•显示每一个BOOK元素时,在其上方有12个点的空间(margin-top:
12pt),在其上方和下方
各有一个换行符(display:
block),使用大小为10点的字体(font-size:
10pt)。
•用斜体显示每一个TITLE元素(font-style:
italic)。
•用粗体显示每一个AUTHOR元素(font-weight:
bold)。
程序清单2-2
Inventory01.css
/*FileName:
Inventory01.css*/
BOOK
{display:
block;
margin-top:
12pt;
font-size:
10pt}
TITLE
{font-style:
italic}
AUTHOR
{font-weight:
bold}
3)在文本编辑器中,打开在前一个练习中创建的Inventory.xml文档。
添加下列处理指令到
文档序言的结尾处(正好插入到INVENTORY元素的上方):
xml-stylesheettyp“et=ext/css”href=“inventory01.css”?
>
这个处理指令把刚创建的CSS链接到XML文档。
结果,当在InternetExplorer5中打开该文
档时,浏览器根据样式表中的指令显示文档内容。
4)要反映将要赋予它的新文件名,把文档起始处附近的注释从:
--FileName:
Inventory.xml-->
改为
--FileName:
Inventory01.xml-->
程序清单2-3显示了完整的XML文档。
(你将在本书附带光盘中名为Inventory01.xml的文件
中发现这个程序清单的拷贝。
)
5)使用文本编辑器的“另存为(SaveAs)”命令,把修改过的文档的拷贝保存到名为
Inventory01.xml的文件中。
确保把它保存在与Inventory01.css相同的文件夹中。
程序清单2-3
Inventory01.xml
xmlversion="1.0"?
>
--FileName:
Inventory01.xml-->
xml-stylesheettype="text/css"href="Inventory01.css"?
>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml2 第二 部分
![提示](https://static.bingdoc.com/images/bang_tan.gif)