亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

IBM認(rèn)證:XML入門XML簡介

時間:2024-08-12 22:27:34 IBM認(rèn)證 我要投稿
  • 相關(guān)推薦

IBM認(rèn)證:XML入門XML簡介

  ML即為可擴展的標(biāo)記語言(eXtensible Markup Language)。XML是一套定義語義標(biāo)記的 規(guī)則,這些標(biāo)記將文檔分成許多部件并對這些部件加以標(biāo)識。

  什么是XML

  XML是標(biāo)記語言。理解XML,首先要理解標(biāo)記。先說說HTML的標(biāo)記(Markup),通俗地講,它 就是一種用來給文本添加標(biāo)記的語言。在HTML里每個標(biāo)志都是有確切含義的。例如,在HTML 中,標(biāo)簽〈B〉的含義是要求HTML瀏覽器將一段文本加粗表示,而標(biāo)簽〈CENTER〉的含義是告 訴瀏 覽器將這段文本在一行的中間顯示。

  而XML并非象HTML那樣,提供了一組事先已經(jīng)定義好了的標(biāo)簽,而是提供了一個標(biāo)準(zhǔn),利用這 個標(biāo)準(zhǔn),你可以根據(jù)實際需要定義自己的新的置標(biāo)語言,并為你的這個置標(biāo)語言規(guī)定它特有 的一套標(biāo)簽。準(zhǔn)確的說,XML是一種源置標(biāo)語言,它允許你根據(jù)它所提供的規(guī)則,制定各種 各樣的置標(biāo)語言。

  XML的產(chǎn)生

  XML有兩個先驅(qū)——SGML和HTML,這兩個語言都是非常成功的標(biāo)記語言,SGML的全稱是 標(biāo)準(zhǔn)通用化標(biāo)記語言,它從80年代初開始使用。正如XML一樣,SGML也可用于創(chuàng)建成千 上萬的標(biāo)記語言,它為語法置標(biāo)提供了異常強大的工具,同時具有極好的擴展性,因此 在分類和索引數(shù)據(jù)中非常有用。目前,SGML多用于科技文獻(xiàn)和政府辦公文件中。SGML 非常之復(fù)雜,其復(fù)雜程度對于網(wǎng)絡(luò)上的日常應(yīng)用簡直不可思議。不僅如此,SGML非常昂 貴。HTML免費、簡單,而且它獲得了廣泛的支持。它是一個非常簡單的SGML語言,可以 方便普通人的使用。1996年人們開始致力于描述一個置標(biāo)語言,它既具有SGML的強大功 能和可擴展性,同時又具有HTML的簡單性。W3C于1998年2月批準(zhǔn)了XML的1.0版本,一 個嶄新而大有前途的語言誕生了。

  XML的優(yōu)點

  1.XML允許各種不同的專業(yè)(如音樂、化學(xué)、數(shù)學(xué)等)開發(fā)與自己的特定領(lǐng)域有關(guān)的標(biāo)記 語言。這就使得該領(lǐng)域中的人們可以交換筆記、數(shù)據(jù)和信息,而不用擔(dān)心接收端的人是否 有特定的軟件來創(chuàng)建數(shù)據(jù)。

  2.XML具有較好的保值性.過去40年來的大多數(shù)計算機數(shù)據(jù)都丟失了,不是因為自然損害或 是備份介質(zhì)的磨損,而只是因為沒有人來寫出如何讀取這些數(shù)據(jù)介質(zhì)和格式的文檔。以不常 用的格式保存的二進制數(shù)據(jù),數(shù)據(jù)也許會永遠(yuǎn)地消失了。XML在基本水平上使用的是非常簡 單的數(shù)據(jù)格式?梢杂100%的純ASCII文本來書寫,也可以用幾種其他定義好的格式來書 寫。ASCII文本是幾乎不會"磨損"的。

  3.應(yīng)用間交換數(shù)據(jù).由于XML是非專有的并易于閱讀和編寫,就使得它成為在不同的應(yīng)用間交 換數(shù)據(jù)的理想格式.XML使用的是非專有的格式,不受版權(quán)、專利、商業(yè)秘密或是其他種類的 知識產(chǎn)權(quán)的限制。XML的功能是非常強大的,同時對于人類或是計算機程序來說,都容易閱 讀和編寫。因而成為交換語言的首選。

  此外,相對于HTML,XML具有先天的優(yōu)越性。

  為了自己的瀏覽器增加一些特殊的顯示效果,HTML加入了一些特殊的標(biāo)記。日益增多的標(biāo)簽 不但使HTML越來越龐大,瀏覽器的開發(fā)越來越復(fù)雜,還降低了不同瀏覽器之間的兼容性。 盡管HTML的標(biāo)簽越來越多,其顯示力卻還遠(yuǎn)遠(yuǎn)不夠。如果你希望非常精確地表現(xiàn)一些你自 己的數(shù)據(jù),可能你需要一些現(xiàn)在在HTML中尚不存在的標(biāo)簽,F(xiàn)在HTML內(nèi)部結(jié)構(gòu)的條理性越 來越差。你寫的HTML文件,甚至是那些專門的所見即所得工具自動生成的HTML文件,可能 在語法上會錯誤百出,不過沒關(guān)系,瀏覽器照樣能讀它。

  現(xiàn)在有了XML,你終于可以自由地制定你自己的置標(biāo)語言,而不必再念念不忘微軟、 Netscape、W3C的首肯了。實際上,現(xiàn)在許多行業(yè)、機構(gòu)都利用XML定義了自己的置標(biāo)語 言。比較早而且比較典型的是下面兩個實例:

  化學(xué)置標(biāo)語言CML (Chemistry Markup Language)數(shù)學(xué)置標(biāo)語言MathML (Mathematical Markup Language)一個簡單的XML文檔

  現(xiàn)在讓我們考察一個簡單的XML文檔:

  Hello XML!

  第一行是XML聲明:

  這是XML處理指令的例子。處理指令以結(jié)束。在

  XML聲明有version和standalone兩個特性。特性是由等號分開的名稱-數(shù)值對。位于等號 左邊的是特性名,而其值位于等號的右邊,并用雙引號括起來。每一個XML文檔都以一個XML 聲明開始,用以指明所用的XML的版本。在上例中, version特性表明這個文檔符合XML 1.0 規(guī)范。XML聲明還可以有standalone特性,這告訴我們文檔是否在這一個文件里還是需要從外 部導(dǎo)入文件。在本例中,以及在以后的幾章中,所有的文檔都在一個文件里完成,因而 standalone特性的值要設(shè)置為yes。

  再看剩下三行?傮w上說,這三行組成了FOO元素。分開說,是開始標(biāo)記,而 是結(jié)束標(biāo)記,Hello XML!是FOO元素的內(nèi)容。讀者可能要問,標(biāo)記的意義是什么? 回答是"你要讓它是什么就是什么"。除了幾百個預(yù)定義的標(biāo)記之外,XML還允許用戶創(chuàng)建 所需的標(biāo)記。因而標(biāo)記可以具有用戶賦于的任何意義.同一個XML文檔可以用不同的 標(biāo)記名編寫,如:

  Hello XML!

  或是:

  Hello XML!

  XML標(biāo)記的意義

  標(biāo)記有三類意義:結(jié)構(gòu)、語義和樣式。結(jié)構(gòu)將文檔分成元素樹。語義將單個的元素與 外部的實際事物聯(lián)系起來。而樣式指定如何顯示元素。

  結(jié)構(gòu)只是表達(dá)文檔的形式,而不管單個標(biāo)記和元素間的差別。它們都指定文檔具有一個 非空的基本元素。標(biāo)記的不同名稱沒有結(jié)構(gòu)上的意義。語義的意義存在于文檔之外,在 作者的心中或是讀者或是某些生成或讀取這些文件的計算機程序中。例如,理解HTML但 不理解XML的Web瀏覽器,可能會將段落的意義賦給

  和

  標(biāo)記。講英語的人可能會 比和或

  或

  更容易理解和或是 和的意義。

  正如"美麗"的意義存在于觀察者心中。自然地,使標(biāo)記的名稱能夠盡可能反映其包含的意 義更好一些。許多學(xué)科,如數(shù)學(xué)和化學(xué)正在創(chuàng)建該學(xué)科的工業(yè)標(biāo)準(zhǔn)和標(biāo)記集。

  可以與標(biāo)記相聯(lián)系的第三類意義是樣式意義。樣式意義指定標(biāo)記的內(nèi)容如何在計算機屏幕 上或是其他輸出設(shè)備上展示。樣式意義說明特定的元素是否是用粗體、斜體、綠色的24磅 的字體還是其他字體加以表示。計算機在理解樣式時比理解語義意義要好一些。在XML中, 樣式意義是通過樣式單來施加的。(以后將會提到)

  XML文件的整體結(jié)構(gòu)

  xml文件包括三部分:XML聲明、處理指示(可選)、XML元素。XML文檔的一個基本 要求是形式良好的(well formed),一個形式良好的XML文檔要包含這三個部分。

  下面是一個完整的xml文檔(程序1.1):

  <學(xué)生花名冊>

  <學(xué)生>

  <名字>李華

  <籍貫>河北

  <年齡>15

  <電話號碼>62875555

  <學(xué)生>

  <名字>張三

  <籍貫>北京

  <年齡>14

  <電話號碼>82873425

  處理指示

  處理指示是用來給處理XML文件的應(yīng)用程序提供信息的。所有的處理指示應(yīng)該遵循 下面的格式:

  例如這個處理指示:

  指定與了XML文件配套使用的樣式單的類型為xsl及文件名為mystyle.xsl:

  XML文件的實質(zhì)內(nèi)容——元素

  元素是XML文件內(nèi)容的基本單元。從語法上講,一個元素包含一個起始標(biāo)記、 一個結(jié)束標(biāo)記以及標(biāo)記之間的數(shù)據(jù)內(nèi)容。其形式是:

  <標(biāo)記>數(shù)據(jù)內(nèi)容

  另外,元素中還可以再嵌套別的元素。比如數(shù)據(jù)內(nèi)容可再擴展為

  <標(biāo)記1>數(shù)據(jù)內(nèi)容1

  <標(biāo)記2>數(shù)據(jù)內(nèi)容2

  ...

  <標(biāo)記n>數(shù)據(jù)內(nèi)容1

  元素里還可以再嵌套元素,實現(xiàn)循環(huán)嵌套。最外層的元素稱為根元素。一個xml文檔 只能有一個根元素。

  字符數(shù)據(jù)與實體引用

  一對標(biāo)記之間出現(xiàn)的字符數(shù)據(jù)可以是任何合法的UNICODE字符,但不能包含字符"〈"。 這是因為,字符"〈"被預(yù)留用作標(biāo)記的開始符。

  在XML中,起始和結(jié)束標(biāo)記之間出現(xiàn)的所有合法字符都被忠實地傳給XML處理程序。 為了避免把字符數(shù)據(jù)和標(biāo)記中需要用到的一些特殊符號相混淆,XML還提供了一些有用的 實體引用。實體引用的作用是,當(dāng)在字符數(shù)據(jù)中需要使用這些特殊符號時,我們采用它的 實體引用來代替。這些特殊的XML實體引用包括:

  > >

  < <

  & &

  " "

  ’ '

  這樣,如果我們需要在"示例"這個標(biāo)記中出現(xiàn)文本

  "<姓名>張三"

  正確的寫法應(yīng)該是:

  〈示例〉<姓名>張三〈/示例〉

  容易理解,字符"〈"的實體引用是必不可少的,為"〉"設(shè)立實體引用同樣是為了避免與 標(biāo)記混淆,而字符"&"的實體引用則防止它與實體引用中開頭所用的"&"相混淆。那么, 我們什么時候需要用到剩下兩個字符的實體引用呢?在標(biāo)記中可以為標(biāo)記設(shè)立屬性, 而XML規(guī)定屬性值必須用"""括起來。因此,當(dāng)屬性值中出現(xiàn)字符"""時,需要將它 用實體引用代替。請看下面的例子:

  正確的寫法應(yīng)該是:

  標(biāo)記

  正如我們開篇所講,標(biāo)記是XML語言的精髓。因此,標(biāo)記在XML的元素中、乃至整個XML 文件中,占了舉足輕重的位置。

  XML的標(biāo)記和HTML的標(biāo)記在模樣上大體相同,除了注釋和CDATA部分以外,所有符號〈 和符號〉之間的內(nèi)容都稱為標(biāo)記。其基本形式為:

  〈標(biāo)記名 (屬性名="屬性取值")*〉

  不過,XML對于標(biāo)記的語法規(guī)定可比HTML要嚴(yán)格得多。

  大小寫有所區(qū)分

  在標(biāo)記中必須注意區(qū)分大小寫。在HTML中,標(biāo)記〈HELLO〉和〈hello〉是一回事,但 在XML中,它們是兩個截然不同的標(biāo)記。

  要有正確的結(jié)束標(biāo)記

  結(jié)束標(biāo)記除了要和開始標(biāo)記在拼寫和大小寫上完全相同,還必須在前面加上一個斜杠 "/"。因此,如果開始標(biāo)記是〈HELLO〉,結(jié)束標(biāo)記應(yīng)該寫作〈/HELLO〉。XML嚴(yán)格 要求標(biāo)記配對,因此,HTML中的、

  的元素形式在XML中是不合法的。不過, 為了簡便起見,當(dāng)一對標(biāo)記之間沒有任何文本內(nèi)容時,可以不寫結(jié)束標(biāo)記,而在開始 標(biāo)記的最后慣以斜杠"/"來確認(rèn)。這樣的標(biāo)記稱為"空標(biāo)記"。例如,HTML中的標(biāo)記 〈HR〉在XML中的使用方式應(yīng)該是:。

  標(biāo)記要正確嵌套

  在一個XML元素中允許包含其它XML元素,但這些元素之間必須滿足嵌套性。

  有效使用屬性

  最后要指出的是,標(biāo)記中可以包含任意多個屬性。在標(biāo)記中,屬性以名稱/取值對出現(xiàn), 屬性名不能重復(fù),名稱與取值之間用等號"="分隔,且取值用引號引起來。例如:

  <商品 類型 = "服裝" 顏色 = "黃色">

  在這個例子中,"類型"和"顏色"是標(biāo)記"商品"的屬性,"服裝"是屬性"類型"的 取值,"黃色"是屬性"顏色"的取值。

  需要特別注意的是,在XML中屬性的取值必須用引號引起來,而在HTML中這一點并不 嚴(yán)格要求。

  CDATA

  正象我們前面所說,我們可以把XML文件中除標(biāo)記以外的所有內(nèi)容都看作是字符 數(shù)據(jù),而把標(biāo)記中的所有內(nèi)容都看作置標(biāo)。不過,也有一個例外。在一個特殊的 標(biāo)記CDATA下,所有的標(biāo)記、實體引用都被忽略,而被XML處理程序一視同仁地 當(dāng)作字符數(shù)據(jù)看待。CDATA的形式如下:

  〈![CDATA[

  文本內(nèi)容

  ]]〉

  聰明的讀者可能已經(jīng)猜出,CDATA的文本內(nèi)容中是不能出現(xiàn)字符串"]]〉"的, 因為它代表了CDATA數(shù)據(jù)塊的結(jié)束標(biāo)志。

  在前面講字符數(shù)據(jù)時,我們談到過實體引用?上攵,當(dāng)你的文本數(shù)據(jù)中包含 大量特殊符號時,你不得不通篇地使用實體引用,把本來很清晰的一段文字搞得 亂七八糟。例如,我們要在"示例"元素中放入了一個這么XML程序。

  <聯(lián)系人>

  <姓名>張三

  zhang@aaa.com

  這時,如果沒有CDATA,那么麻煩來了。這個元素需要寫成下面的樣子:

  <示例>

  <聯(lián)系人>

  <姓名>張三

  zhang@aaa.com

  哇,你要把所有的標(biāo)記都用實體引用改寫,最后寫出來的東西連你自己都看不懂了。 為了避免這種不便,你可以把這些字符數(shù)據(jù)放在一個CDATA數(shù)據(jù)塊中,這樣不管它 看上去是一個標(biāo)記還是一個實體引用,這些數(shù)據(jù)統(tǒng)統(tǒng)被當(dāng)作字符照單全收。于是, 上面的元素就可以寫為這個樣子:

  <示例>

  <聯(lián)系人>

  <姓名>張三

  zhang@aaa.com

  ]]〉

  〈/示例〉

  清楚多了吧!

  注釋

  象前一節(jié)的例子中那樣,有些時候,你希望XML處理器能夠把你在數(shù)據(jù)中引入的 標(biāo)記當(dāng)作普通數(shù)據(jù)而不是真正的標(biāo)記來看待。這時,CDATA為你助了一臂之力。 另外還有些時候,就象在程序中引入注釋一樣,你可能希望在XML文件中加入一 些用作解釋的字符數(shù)據(jù),并且希望XML處理器不對它們進行任何處理。這種類型 的文本稱作注釋(COMMENT)文本。

  在HTML中,注釋是用"〈!--"和"--〉"引起來的。在XML中,注釋的方法完全 相同。因此,下面是一個合法的XML(但不是形式良好的)文件: <示例>

  <聯(lián)系人>

  <姓名>張三

  zhang@aaa.com

  ]]>

  不過,在XML文件中使用注釋時,同樣要遵守幾個規(guī)則:

  在注釋文本中不能出現(xiàn)字符"-"或字符串"--",XML處理器可能把它們和注釋結(jié)尾 標(biāo)志"-->"相混淆。

  不要把注釋文本放在標(biāo)記之中。類似地,不要把注釋文本放在實體聲明中,也不要 放在XML聲明之前。記住,永遠(yuǎn)用XML聲明作為XML文件中的第一行。

  注釋不能被嵌套。在使用一對注釋符號表示注釋文本時,要保證其中不再包含另一 對注釋符號。例如下面例子是不合法的:

  -->

  最后再重申一遍,XML處理器對于注釋中的一切內(nèi)容都會視而不見,注釋中出現(xiàn)的 標(biāo)記也一同被忽略。

  形式良好的XML

  為了使一個文檔"形式良好",XML文檔中的所有置標(biāo)和字符數(shù)據(jù)必須遵守前幾節(jié)中給出 的規(guī)則。而且有幾條關(guān)于如何把置標(biāo)和字符數(shù)據(jù)相互聯(lián)系起來的規(guī)則。 這些規(guī)則總結(jié)如下:

  文檔的開始必須是XML聲明。

  含有數(shù)據(jù)的元素必須有起始標(biāo)記和結(jié)束標(biāo)記。

  不含數(shù)據(jù)并且僅使用一個標(biāo)記的元素必須以/>結(jié)束。

  文檔只能包含一個能夠包含全部其他元素的元素。

  元素只能嵌套不能重疊。

  屬性值必須加引號。

  字符<和&只能用于起始標(biāo)記和實體引用。

  出現(xiàn)的實體引用只有&、<、>、'和"。

【IBM認(rèn)證:XML入門XML簡介】相關(guān)文章:

關(guān)于IBM XML認(rèn)證考試的要點09-07

IBM XML認(rèn)證知識點:Dtd09-01

XML入門教程10-22

關(guān)于XML的入門教程10-06

XML入門操作程序09-30

XML認(rèn)證元素類型聲明05-28

XML名稱空間入門教程06-07

IBM認(rèn)證簡介07-24

關(guān)于XML入門教程:分析XM09-25

XML認(rèn)證考試知識點:Parser08-21