打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
建立格式正确的XML文件
建立格式正确的XML文件
 发布者:[不详]  来源:[不详]
    在本章中,你将学习建立格式正确的XML 文件的基本技术。格式正确的文件指的是一份符合最小标准集合的文件。该标准遵守了XML 文件的规格。当你建立格式正确的XML 文件时,你可以向右延伸并开始在需要元素时加入元素,并输入文件的数据,就像你在建立HTML 网页时所做的一样。(虽然,如同你在前面章节中所学的,在XML 文件中你是创造自己的元素,而不是使用预先定义好的元素。)然后,你在使用Microsoft Internet Explorer 5 处理与显示任何格式正确的文件时将不会有任何问题。
    在第五章中,你将学习如何建立一份有效的XML 文件:它不只是一个格式正确的文件,同时需符合一组更严格的限制。建立一个有效的XML 文件并不像建立格式正确的文件那样简单。在你开始为有效的文件加入元素与数据之前,你必须在文件型态宣告部份中完整定义文件的结构,而该文件型态宣告会被加入文件序文中。在第五章中,你将会学到一些制作有效文件的优点,特别是当你或其它人正在建构一组类似的文件时。
    在本章中,首先你将学习所有格式正确的XML 文件的必要性与选择性部份。接下来你将探索如何借着定义文件的元素来将信息加到XML 文件之中。然后你将学习为元素加入属性以提供额外的文件信息。

格式正确的XML 文件的各个部份

    如同你在第二章所学到的,XML 文件由两个部份组成:序文与文件元素(一般称为根元素)。另外,紧邻文件元素之后,XML 文件还包括了批注、处理指令,以及空白部份。下面是一个格式正确的XML 文件范例,它显示了文件的各个部份以及在每个部份中你可以加入的项目:

    列表3-1 示范了这个范例文件的完整版本。(你可以在随书光盘的 Parts.xml 档案中找到这个程序代码。)
Parts.xml
<?xml version=‘1.0‘ standalone=‘yes‘ ?>
<!--File Name:Parts.xml ─ ─>
<?xml-stylesheet type="text/css" href="Inventory01.css"?>
<INVENTORY>
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
<BOOK>
<TITLE>The Legend of Sleepy Hollow</TITLE>
<AUTHOR>Washington Irving</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>98</PAGES>
<PRICE>$2.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Marble Faun</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>473</PAGES>
<PRICE>$10.95</PRICE>
</BOOK>
<BOOK>
<TITLE>Moby-Dick</TITLE>
<AUTHOR>Herman Melville</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>724</PAGES>
<PRICE>$9.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Portrait of a Lady</TITLE>
<AUTHOR>Henry James</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>256</PAGES>
<PRICE>$4.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Scarlet Letter</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>253</PAGES>
<PRICE>$4.25</PRICE>
</BOOK>
<BOOK>
<TITLE>The Turn of the Screw</TITLE>
<AUTHOR>Henry James</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>384</PAGES>
<PRICE>$3.35</PRICE>
</BOOK>
</INVENTORY>
<!--Comments,processing instructions,and white space
can also appear after the document element.-->
<?MyApp Parm1="value 1" Parm2="value 2"??>
    在文件序文起始部份的XML 宣告版本号码可以用单引号「‘」或双引号「"」来包围指定。通常,XML 卷标中引号内的字符串-称为literal-可以使用单引号或双引号来包围。因此,下面的程序都是合法的:
<?xml version=‘1.0‘?>
<?xml version="1.0"?>
    在列表3-1 范例文件中的XML 宣告也包含了一个独立文件宣告(standalone documentdeclaration)(standalone=‘yes‘)。这个宣告可以用在某些XML 文件中来简化文件的处理。(第六章中将讨论独立文件宣告)
    在这个范例文件的序文与文件元素的部份都包括了批注。(你将在第四章中学到更多有关批注的知识。)
    文件的序文包含了两行空白,标签为「空白部份」,而文件元素之后也包括了两行空白。空白部份由一个或多个的空格符、Tab、换行,或底线字符所组成。为了让XML 文件具有更高的可读性,你可以自由地在XML 卷标之间-例如起始卷标、结束卷标、批注,与处理指令-加入空白部份,也可以在标签之中加入空白-例如,范例文件中XML 宣告的结尾部份中的「yes」与「?」之间的空格符。除非空格符是包含在直接包含字符数据的元素之中,否则处理器会简单地将之忽略。(在这个例子中,处理器会将空白部份当成元素的字符数据传送给应用程序。)
    范例文件在序文中有一个处理指令,并在紧邻文件元素处也有一个处理指令。(第四章将讨论处理指令。)
    最后,文件包含了XML 文件的必要条件:文件元素。建立文件元素与其包含的巢状元素是本章的讨论重点。
    注意
    如同你将在第五章中学到的,有效的XML 文件需要包含一个附加的组件,这个组件并未包括在列表3-1 的范例中:这个组件就是文件型态宣告,可以放置在序文中的任何位置,其它卷标之外,跟在XML 宣告之后。文件型态宣告定义了完整XML 文件的结构。

XML 文件的最低要求

    列表3-1 的XML 文件范例的序文部份包含了所有可以放置在序文中的项目。然而,请注意,这些项目都是选择性的(虽然XML 规格书中指明了你「应该」包含XML 宣告),可有可无。因此,序文本身也是选择性的,而后基本要求的XML 文件,只包含了一个简单的文件元素,符合格式正确的XML 文件标准:
<minimal>A minimalist document.</minimal>
    该文件在Internet Explorer 5 中将显示如下:

加入元素到文件中

    XML 文件中的元素包含了真正的文件信息(例如,在列表3-1 中,有存货清单中书籍的标题、作者、价格,与其它信息),而且指出了这些信息的逻辑结构。
    元素会以树状结构的方式被安排,元素可以巢状套迭在其它的元素之中。文件必须明确地拥有一个顶层元素-文件元素或根元素-而其它的元素都套迭在这个元素之下。因此,下面是一个格式正确的XML 文件。
<?xml version="1.0" ?>
<!--A well-formed XML document.-->
<INVENTORY>
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
</INVENTORY>
然而,下面的文件则不是格式正确的:
<?xml version="1.0"?>
<!--This document is NOT well-formed.-->
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
    元素必须适当地套迭。这代表,如果元素(由一组起始卷标与结束卷标来界定,作者稍后将会介绍。)是在另一个元素之中开始,它必须也在相同的元素之中结束。例如,这些元素都是格式正确的:
<BOOK>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
</BOOK>
    然而,这些元素就不是格式正确的:
<!--NOT well-formed:-->
<BOOK><TITLE>Leaves of Grass</BOOK></TITLE>
注意
    一个包含一个或多个套迭元素(如列表3-1 中的BOOK)的元素称为父元素(parent element)。而一个直接包含在父元素之下(如BOOK 之下的TITLE)的元素则称为子元素(child element)、副元素(subelement),或父元素的套迭元素。

元素解析

    如你所见,元素通常由起始卷标、内容与结束卷标所组成。

    不像HTML,XML 要求你一定要包含起始卷标与结束卷标。(唯一的例外是没有内容的元素,你可以使用稍后介绍的特殊空元素。)
    出现在起始卷标与结束卷标开头部份的名称(在上面的例子是TITLE),称为元素的型态(type)或通用识别代号(generic identifier:GI)。型态名称可以用来识别特殊的元素型态或元素类别,而不是特定一个元素。因此,元素可以包含多个拥有相同型态名称的元素(如列表3-1 中的BOOK 或TITLE 元素)。
    当你为XML 文件加入元素时,你可以选择任何你想要的型态名称,只要遵守下面的规则即可:
    名字必须以字母或底线开头(_),后面接着零或多个字母、数字、句号(.)、连字号(-),或底线(_)。
    XML 规格书中说明了元素的型态名称是以「xml」(以任何大写或小写字母组成)为前缀,而且将被保留成为标准规格。虽然Internet Explorer 5 并不强迫要求遵守这项限制,但最好不要使用这个前缀以避免将来产生问题。
下列是合法的元素型态名称:
Part
_1stPlace
A
B-SECTION
Street.Address.1
下列则是不合法的元素型态名称:
1stPlace <!──Digit not allowed as first character ──>
B Section <!──Space not allowed within a name ──>
B/Section <!──Slash not allowed within a name ──>
:Chapter <!──Colon not allowed as first character in IE5 ──>
A:Section <!──In IE5,allowed only if you ‘ve declared A
as a namespace ──>
注意
    根据XML 规格书中的定义,元素名称中的冒号(:)将被保留作为命名空间(namespace)用。命名空间负责区别拥有相同名称的元素,笔者将在第七章的 <将HTML 元素加到XML 文件中并使用命名空间> 中继续讨论。只有当元素名称接在已经宣告过的命名空间之后,InternetExplorer 5 才会让你在元素名称中加入冒号。例如,A:Section 只有在你已将A 宣告成命名空间时才为合法。
    同时,起始标签中的名字必须完全与结束标签中的名字相同,包括字母的大小写。因此,底下的元素就不是格式正确的:
<Title>Chapter One</title><!──NOT well-formed.──>
    元素名字中的大小写相当重要,如同所有卷标中的文字规定一样,有大小写之分。因此,元素型态名称Ace 与ace 或ACE 并不相同。

元素内容的类型

    元素内容指的是起始卷标与结束卷标之间的文字。你可以在文件的内容包括下列型态的项目:
    套迭的元素 。在列表3-1,元素INVENTORY 与BOOK 都包含了套迭元素当作元素的内容:

    字符数据 。字符数据是表达元素内容信息的文字,例如TITLE 元素中特定的书籍标题。

    下面介绍的是一个由字符数据与套迭的元素所组成的元素内容:

    当加入字符数据到元素中时,你可以加入除了左括号(<),与连接符号(&)或字符串(] ] >)之外的字符。
    注意
    XML 解析器会扫瞄XML 卷标中元素的字符数据。你不可以加入左角括号(<)、连接符号(&),或字符串(] ] >)当作字符数据的一部份,因为解析器会将(<)当作套迭元素的起始,将(&)当作实体或字符参照的起始,以及将(] ] >)当作CDATA 区段的结束。(笔者将在第六章讨论字符参照;在第四章讨论CDATA 区段)。如果你想要加入(<)或(&)来当作字符数据的一部份,你可以使用CDATA
区段。你也可以使用字符参照来加入任何字符(包括不在键盘上的字符),而且可以借着使用预先定义的普通实体参照来加入某些字符(如<或&)。
    普通的实体参照与字符参照 。下面是一个包含普通实体参照与字符参照的元素范例:

    CDATA 区段 。CDATA 区段是一个你可以自由加入除了]] >字符串之外任何字符的文字区块。下面是一个元素中CDATA 区段的范例:

    处理指令 。处理指令提供信息给XML 应用程序使用。(请参阅 第四章 )
    批注 。批注是XML 文件的注释部分,其文字是可以阅读了解的,但XML 处理器会将之忽略。(请参阅 第四章 )
    下面是一个包含处理指令与批注的元素范例:

空元素

    你也可以加入空元素(empty element;即没有内容的元素)到你的文件中。你可以借着在起始卷标后立即放置结束卷标来建立一个空元素,如同这个范例所示:
<HR></HR>
    或者,你可以借着使用特殊的空元素卷标(empty-element tag)来省去输入,如下所示:
<HR/>
    这两个标签拥有相同的意义。
    因为空元素没有内容,你可能会质疑其用途为何。
    下面介绍的是两种可能的用途:
    你可以使用空元素告诉XML 应用程序来执行某个动作或显示对象。在HTML 中的例子BR 是空元素,它能告诉浏览器加入一个换行,而HR 空元素,则是告诉浏览器加入一个水平分界线。换言之,仅拥有元素外观与特定名称的元素-未含任何内容-还是可以提供许多重要的信息给应用程序。
    空元素可以透过属性来储存信息,你将在本章后面学到属性的知识。(你尚未见到拥有属性的元素。)在HTML 中的例子是IMG(影像)空元素,它包含了告诉处理器那里可以找到图形文件,以及如何显示图形等信息的属性。
    提示
    如同你将在第七章学到的,串接样式表(CSS)可以使用空元素来显示影像。在第八章,你将学习如何运用数据链路来使用空元素或非空元素的属性。而在第九章与第十章中,你将学习如何使用HTML script(第九章)与XSL 样式表(第十章)来使用元素(空或非空元素)及元素的相关属性并执行适当的动作。

建立不同型态的元素

    1. 在文字编辑器中 开启 一个新的、空白文字文件,并输入显示于列表3-2 中的XML文件(您可以在随书光盘的 Inventory03.xml 档案中找到)。你也可以使用你在第二章中所建立的 Inventory.xml 文件(在列表2-1 与随书光盘中都有提供)来当作出发点。
    2. 使用文字编辑器的 存盘 指令,将文件储存到本机硬盘,并指定文件名为 Inventory03.xml 。
Inventory03.xml
<?xml version="1.0"?>
<!--File Name:Inventory03.xml -->
<?xml-stylesheet type="text/css" href="Inventory02.css"?>
<INVENTORY><!--Inventory of selected 19th Century
American Literature -->
<BOOK>
<COVER_IMAGE Source="Huck.gif"/>
<TITLE>The Adventures of Huckleberry
Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<COVER_IMAGE Source="Leaves.gif" />
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
<BOOK>
<COVER_IMAGE Source="Faun.gif" />
<TITLE>The Marble Faun</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>473</PAGES>
<PRICE>$10.95</PRICE>
</BOOK>
<BOOK>
<COVER_IMAGE Source="Moby.gif" />
<TITLE>
Moby-Dick
<SUBTITLE>Or,the Whale</SUBTITLE>
</TITLE>
<AUTHOR>Herman Melville</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>724</PAGES>
<PRICE>$9.95</PRICE>
</BOOK>
</INVENTORY>
注意
    你所输入的文件使用了一个名为 Inventory02.css 的CSS,这是你在之前的练习中所建立的(在本书的列表2-4)。确定这个样式表档案是放在与 Inventory03.xml 相同的目录中。
    3. 在Windows 档案总管或目录窗口中,利用鼠标双击你刚储存的 Inventory03.xml 档案:
    Internet Explorer 5 的显示如下图所示:

    你输入的文件包含了下列型态的元素与元素内容:
    元素中包含批注作为内容的一部份(INVENTORY)。注意浏览器并不会将批注显示出来。
    在每一个BOOK元素的开头部份有一个名为 COVER_IMAGE 的空元素。这个元素的目的是告诉XML 应用程序显示书籍封面上的特定影像。(Source 属性包含了影像档案的名称)然而,在这个范例中要能使用这样的一个空元素,你需要透过HTML 网页中的script 或XSL 样式表(将于第九章与第十章中讨论)来显示XML 文件,而不是使用简单的CSS。
    一个包含字符数据与子元素(SUBTITLE)的元素(在Moby-Dick 例子中是TITLE)。注意浏览器会将字符数据与子元素显示在同一行上,并使用相同的格式(指定到TITLE 元素的CSS 格式是由SUBTITLE 元素所继承而来的)。

为元素加入属性

    在元素的起始卷标中,或是在空白标签中,你可以含括一个或多个属性规格(attributespecifications)。属性规格是一个与元素结合的名称-数值对(name-value pair)。例如,下面的PRICE 元素包含了一个名为Type 的属性,其值被指定为retail:
<PRICE Type="retail">$10.95</PRICE>
    对其他的书籍而言,这项属性可能设定成其它值,例如设定成wholesale。
    下面的BOOK 元素包含了两个属性,Category 与Display:
<BOOK Category="fiction" Display="emphasize">
<TITLE>The Marble Faun</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>473</PAGES>
<PRICE>$10.95</PRICE>
</BOOK>
    下面的空元素则包含了名为Source 的属性,指出包含要被显示影像的文件名称:
<COVER_IMAGE Source="Faun.gif" />
    加入属性提供了另一种方法来为元素加入信息。一般来说,你可以放置大量你想要显示的元素数据于元素的内容中。而且,你可以使用属性来储存元素不同的特性,并不必然是那些要显示的资料。如同目录,或者是显示指令。然而,在XML 的规格书中,对于应该被储存在属性或内容的信息型态作了严格的区别。
注意
    当你使用CSS 来显示XML 文件(使用方法将在第七章讨论),浏览器并不会显示属性或属性值。然而使用数据链路(第八章)、HTML 网页中的script(第九章),或XSL 样式表(第十章)来显示XML 文件,可让你存取属性与属性值,或者执行适当的动作。

建立属性的规则

    如同你所看到的,属性规格是由属性名称后面接着等号,再接着属性值所构成的。你可以选择你想要的任何名称,只要遵循下面规则即可:
    名称必须由字母或底线所组成(_),后面接着零或多个字母、数字、句点(.)、连字号(-),或底线(_)。
    XML 规格书中陈述了属性的名称以「xml」(任何大写或小写字母的组合)作为起始,该前缀被「保留作为标准规格」。虽然Internet Explorer 5 并未执行这项限制,但最好还是不要使用该前缀以避免将来的冲突。
    特定的属性名称只能出现在起始卷标或空白卷标中一次。
    例如,下面起始卷标中的属性名称是合法的:
<ANIMATION FileName="Waldo.ani">
<LIST _1stPlace="Sam">
<ENTRY Zip.Code="94941">
    下面的属性名称则是违法的:
<!──Duplicated attribute name in same tag:──>
<ANIMATION FileName="Waldo1.ani" FileName="Waldo2.ani">
<LIST 1stPlace="Sam"><!──Digit not allowed as
first character ──>
<ITEM A:Category="cookware"><!──In IE5,allowed only if you ‘ve
declared A as a namespace ──>
注意
    根据XML 规格,在属性的名称中冒号的使用被保留供指定命名空间用。命名空间被用来区分拥有相同名字的属性;命名空间将在第七章中的 <将HTML 元素加到XML 文件中并使用命名空间> 作讨论。只有当元素名称接在已经于文件中宣告过的命名空间之后,Internet Explorer 5 才会让你在元素名称中加入冒号。例如,只有当你已经将A 宣告成命名空间时,A:Category 才是合法的。

合法属性值的规则

    你指定到属性的值是包含在引号内的一连串字符,称为引号字符串(quoted string),或literal。你可以指定任何的literal 值到属性中,只要遵守下面的规则即可:
    字符串可以使用单引号(‘)或双引号(")来包围。
    字符串中不能包含用来包围字符串的引号。
    字符串可以包含字符参照或普通内部实体参照。(第六章中将讨论字符参照与实体参照)
    字符串不能包含(<)字符。(解析器会把该字符与XML 卷标的起始符号混淆)
    字符串不能包含(&)字符,除了作为字符参照或实体参照的起始外。
    你已经看过合法属性规格的范例。下面的属性规格则是违法的:
<EMPLOYEE Status=""downsized""><!--Can ‘t use delimiting quotewithin string.-->
<ALBUM Type="<CD>"><!--Can ‘t use <within string.-->
<WEATHER Forecast="Cold &Windy"><!--Can ‘t use &except tostart a reference.-->
    如果你想要在属性值中包含双引号("),你可以使用单引号(‘)来包围界定字符串,如下面范例所示:
<EMPLOYEE Status=‘"downsized"‘><!--Legal attribute value.-->
    同样地,要将单引号(‘)包含在字符串中,就使用双引号(")来将字符串包围:
<CANDIDATE name="W.T.‘Bill ‘ Bagley""><!--Legal attribute value.-->
提示
    你可以借着使用字符参照来避开这种字符限制并输入任何字符到属性中,或是使用-如果可以的话-预先定义的普通实体参照。笔者将在第六章中解释字符参照与预先定义的普通实体参照。
    如果你建立一个不包含文件型态宣告的格式正确的文件(如你在本章中所作的),你可以赋予属性符合上述规则的任何值。然而,如同你将在第五章中学到的,当你建立文件型态宣告并将属性定义于该宣告内,你可以限制那些可以被指定到属性的值的型态。例如,你可以将属性定义成其值只能接受「yes」或「no」。因此,将某些型态的信息储存到元素的属性中而非内容中的好处,就是你可以获得更多可以被指定到属性上的数据型态上的控制权,并让解析器实行这些型态的限制(如同你将在第五章中看到的,基本的XML 规格并不提供方法来限制元素中字符数据的型态)。

将内容转换成属性

    1. 在文字编辑器中 开启 一份新的、空白的文本文件,并输入列表3-3 中显示的XML文件。(你可以在随书光盘的 Inventory04.xml 档案中找到)你也可以使用你之前输入过的 Inventory.xml 文件(在列表2-1 与随书光盘都有提供)作为起始点。
    2. 使用文字编辑器的 另存新文件 指令将文件储存于本机硬盘上,文件名为 Inventory04.xml 。
Inventory04.xml
<?xml version="1.0"?>
<!--File Name:Inventory04.xml -->
<?xml-stylesheet type="text/css" href="Inventory02.css"?>
<INVENTORY>
<BOOK Binding="mass market paperback">
<TITLE>The Adventures of Huckleberry
Finn</TITLE>
<AUTHOR Born="1835">Mark Twain</AUTHOR>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK Binding="hardcover">
<TITLE>Leaves of Grass</TITLE>
<AUTHOR Born="1819">Walt Whitman</AUTHOR>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
<BOOK Binding="trade paperback">
<TITLE>The Marble Faun</TITLE>
<AUTHOR Born="1804">Nathaniel
Hawthorne</AUTHOR>
<PAGES>473</PAGES>
<PRICE>$10.95</PRICE>
</BOOK>
<BOOK Binding="hardcover">
<TITLE>Moby-Dick</TITLE>
<AUTHOR Born="1819">Herman Melville</AUTHOR>
<PAGES>724</PAGES>
<PRICE>$9.95</PRICE>
</BOOK>
</INVENTORY>
注意
    你输入的文件使用了你在前面练习中所建立、名为的 Inventory02.css 的CSS(可以于列表2-4 与随书光盘中找到)。请确定这个样式表档案是与Inventory04.xml 位在相同的目录中。
    3. 在Windows 档案总管或目录窗口中,双击你刚储存的 Inventory04.xml 档案:Internet Explorer 5 的显示如下图所示:

    你输入的文件是以 Inventory.xml 为基础,该档案是你在之前的练习中建立的。除了拥有比 Inventory.xml 较少的元素外,新文件拥有两项修正,藉以说明属性的使用:
    在每一个BOOK 元素中,书籍的连结信息都从内容(以BINDING 套迭元素的型式)被转换成名为Binding 的属性。例如,你可能会制作这种转换,因为你想储存连结的型态,但是当使用CSS 来显示该文件时,你却不想将之与其它的书籍信息显示出来。(在上图中,请注意Internet Explorer5 并未显示属性的值)
    一个名为Born 的属性被加到每一个AUTHOR 元素中,以储存作者的出生日期。这是一个你可能想要储存,但却不想显示的较不重要信息的范例。将这类信息隐藏并指出该信息是较不重要的的方法之一,就是将它指定到属性中,而不是放在元素的内容中。
    这些只是属性众多用途的极少部分。你将在第五章中看到更多的用法。
文章相关关键词:xml格式,xml格式文件 查看器,xml文件格式,什么是xml格式,xml 格式不同,vb xml 格式,论文的正确格式,正确的邮箱格式,正确的电子邮箱格式
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
XML新增批注、处理指令与CDATA 区段
XML轻松学习手册(3)XML的术语
实现 Castor 数据绑定,第 2 部分: 编组和解组 XML
XmlTextWriter类
XML认证教程,第 1 部分: XML简介
XML简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服