佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > XML輕松學(xué)習(xí)手冊(cè)(二):XML概念

XML輕松學(xué)習(xí)手冊(cè)(二):XML概念

熱門標(biāo)簽:智能手機(jī) 服務(wù)器配置 檢查注冊(cè)表項(xiàng) 網(wǎng)站文章發(fā)布 美圖手機(jī) 銀行業(yè)務(wù) 呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng)

導(dǎo)言 經(jīng)過第一章的快速入門學(xué)習(xí),你已經(jīng)知道了XML是一種能夠讓你自己創(chuàng)造標(biāo)識(shí)的語言,它可以將數(shù)據(jù)與格式從網(wǎng)頁中分開,它可以儲(chǔ)存數(shù)據(jù)和共享數(shù)據(jù)的特性使得XML無所不能。如果你希望深入學(xué)習(xí)XML,系統(tǒng)掌握XML的來龍去脈,那么我們首先還是要回到XML概念的問題上來。XML(Extensible Markup Language),一種擴(kuò)展性標(biāo)識(shí)語言。"擴(kuò)展性""標(biāo)識(shí)""語言"。每一個(gè)詞都明確的點(diǎn)明了XML的重要特點(diǎn)和功能。我們來仔細(xì)分析: 一. 擴(kuò)展性 二. 標(biāo)識(shí) 三. 語言 四. 結(jié)構(gòu)化 五. Meta數(shù)據(jù) 六. 顯示 七. DOM 一.擴(kuò)展性---使用XML,你可以為你的文檔建立自己的標(biāo)記(tags)。 XML的第一個(gè)詞是"擴(kuò)展性",這正是XML強(qiáng)大的功能和彈性的原因。 在HTML里,有許多固定的標(biāo)記,我們必須記住然后使用它們,你不能使用HTML規(guī)范里沒有的標(biāo)記。而在XML中,你能建立任何你需要的標(biāo)記。你可以充分發(fā)揮你的想象力,給你的文檔起一些好記的標(biāo)記名稱。比如,你的文檔里包含一些游戲的攻略,你可以建立一個(gè)名為game>的標(biāo)記,然后在game>下再根據(jù)游戲類別建立RPG>,SLG>等標(biāo)記。只要清晰,易于理解你可以建立任何數(shù)量的標(biāo)記。 一開始你也許會(huì)不適應(yīng),因?yàn)槲覀冊(cè)趯W(xué)習(xí)HTML時(shí),有固定的標(biāo)記可以直接學(xué)習(xí)和使用;(很多人包括我自己都是邊分析別人的代碼和標(biāo)識(shí),邊建立自己的網(wǎng)頁),而XML卻沒有任何標(biāo)記可以學(xué),也很少有文檔的標(biāo)記是一模一樣的。我們?cè)趺崔k?呵呵,沒有就自己創(chuàng)建呀。一旦你真正開始寫XML文檔,你會(huì)發(fā)現(xiàn)隨心所欲的創(chuàng)造新標(biāo)記也是一份很有趣的事。你可以建立有自己特色的標(biāo)記,甚至建立你自己的HTML語言。 擴(kuò)展性使你有更多的選擇和強(qiáng)大的能力,但同時(shí)也產(chǎn)生一個(gè)問題就是你必須學(xué)會(huì)規(guī)劃。你自己要理解自己的文檔,知道它由哪幾部分組成,相互之間的關(guān)系和如何識(shí)別它們。 關(guān)于建立標(biāo)識(shí)還需要說明一點(diǎn),標(biāo)識(shí)是描述數(shù)據(jù)的類型或特性,比如寬width>,年齡age>,姓名name>等,而不是數(shù)據(jù)的內(nèi)容,比如:10pxl>,18>,張三>,這些都是無用的標(biāo)記。如果你學(xué)過數(shù)據(jù)庫,你可以這樣理解,標(biāo)識(shí)就是一種字段名。 二.標(biāo)識(shí)---使用XML你可以識(shí)別文檔中的元素。 XML的第二個(gè)詞是"標(biāo)識(shí)",這表明了XML的目的是標(biāo)識(shí)文檔中的元素。 不論你是HTML,還是XML,標(biāo)識(shí)的本質(zhì)在于便于理解,如果沒有標(biāo)識(shí),你的文檔在計(jì)算機(jī)看來只是一個(gè)很長的字符串,每個(gè)字看起來都一樣,沒有重點(diǎn)之分。 通過標(biāo)識(shí),你的文檔才便于閱讀和理解,你可以劃分段落,列明標(biāo)題。XML中,你更可以利用其擴(kuò)展性 來為文檔建立更合適的標(biāo)識(shí)。 不過,有一點(diǎn)要提醒大家注意:標(biāo)識(shí)僅僅是用來識(shí)別信息,它本身并不傳達(dá)信息。例如這樣的HTML代碼: b>frist stepb> 這里b>表示粗體,只用來說明是用粗體來顯示"frist step"字符,b>本身并不包含任何實(shí)際的信息,在頁面上你看不到b>,真正傳達(dá)信息的是"frist step "。 三.語言---使用XML你要遵循特定的語法來標(biāo)識(shí)你的文檔。 XML第三個(gè)詞是"語言"。這表明了作為一種語言XML必須遵循一定的規(guī)則。雖然XML的擴(kuò)展性允許你創(chuàng)建新標(biāo)識(shí),但它仍然必須遵循特定的結(jié)構(gòu),語法和明確的定義。 在計(jì)算機(jī)領(lǐng)域,語言常常表示一種"程序語言",用來編程實(shí)現(xiàn)一些功能和應(yīng)用,但不是所有的"語言"都是用來編程的,XML就只是一種用來定義標(biāo)識(shí)和描述信息的語言。 下面我們來深入了解一下XML應(yīng)用的其本原理,可能會(huì)很枯燥,但是對(duì)于整體的理解很重要,你可以先快速過一遍,心里有一個(gè)模糊的概念,具體精髓則需要在實(shí)踐中慢慢領(lǐng)會(huì)。 四.結(jié)構(gòu)化---XML促使文檔結(jié)構(gòu)化,所有的信息按某種關(guān)系排列。 "結(jié)構(gòu)化"聽起來太抽象了,我們這樣理解,結(jié)構(gòu)化就是為你的文檔建立一個(gè)框架,就象寫文章先寫一個(gè)提綱。結(jié)構(gòu)化使你的文檔看起來不會(huì)雜亂無章,每一部分都緊密聯(lián)系,形成一個(gè)整體。 結(jié)構(gòu)化有兩個(gè)原則: 1.每一部分(每一個(gè)元素)都和其他元素有關(guān)聯(lián)。關(guān)聯(lián)的級(jí)數(shù)就形成了結(jié)構(gòu)。 2.標(biāo)識(shí)本身的含義與它描述的信息相分離。 我們來看一個(gè)簡單的例子幫助理解: ?xml version="1.0" encoding="GB2312"?>
myfile>
title>XML輕松學(xué)習(xí)手冊(cè)/title>

chapter>XML快速入門
para>什么是XML/para>
para>使用XML的好處/para>
/chapter>

chapter>XML的概念
para>擴(kuò)展性/para>
para>標(biāo)識(shí)/para>
/chapter>
/myfile>
這是本文的XML描述文檔,可以看到標(biāo)識(shí)分三級(jí)關(guān)聯(lián),非常清晰:
myfile>
chapter>
para>
...
/para>
/chapter>
/myfile>

上面這樣的文檔結(jié)構(gòu),我們又稱之為"文檔樹",主干是父元素,如myfile>,分支和頁是子元素,如chapter>和para>。 五.Meta數(shù)據(jù)(Metadata)---專業(yè)的XML使用者會(huì)使用meta數(shù)據(jù)來工作。 在HTML中我們知道可以使用meta標(biāo)識(shí)來定義網(wǎng)頁的關(guān)鍵字,簡介等,這些標(biāo)識(shí)不會(huì)顯示在網(wǎng)頁中,但可以被搜索引擎搜索到,并影響搜索結(jié)果的排列順序。 XML對(duì)這一原理進(jìn)行了深化和擴(kuò)展,用XML,你可以描述你的信息在哪里,你可以通過meta來驗(yàn)證信息,執(zhí)行搜索,強(qiáng)制顯示,或者處理其他的數(shù)據(jù)。 下面是一些XML metadata在實(shí)際應(yīng)用中的用途: 1.可以驗(yàn)證數(shù)字簽名,使在線商務(wù)的提交動(dòng)作(submission)有效。 2.可以被方便的建立索引和進(jìn)行更有效搜索。 3.可以在不同語言之間傳輸數(shù)據(jù)。 W3C組織正在研究一種名為RDF(Resource Description Framework)的metadata處理方法,可以自動(dòng)交換信息,W3C宣稱,使用RDF配合數(shù)字簽名,將使網(wǎng)絡(luò)中存在"真實(shí)可信"的電子商務(wù)。 六.顯示 單獨(dú)用XMl不能顯示頁面,我們使用格式化技術(shù),比如CSS或者XSL,才能顯示XML標(biāo)記創(chuàng)建的文檔。 我們?cè)谇懊娴谝徽轮v到XML是將數(shù)據(jù)和格式分離的。XML文檔本身不知道如何來顯示,必須有輔助文件來幫助實(shí)現(xiàn)。(XML取消了所有標(biāo)識(shí),包括font,color,p等風(fēng)格樣式定義標(biāo)識(shí),因此XML全部是采用類似DHTML中CSS的方法來定義文檔風(fēng)格樣式。),XML中用來設(shè)定顯示風(fēng)格樣式的文件類型有: 1.XSL XSL全稱是Extensible Stylesheet Language(可擴(kuò)展樣式語言), 是將來設(shè)計(jì)XML文檔顯示樣式的主要文件類型。它本身也是基于XML語言的。使用XSL,你可以靈活的設(shè)置文檔顯示樣式,文檔將自動(dòng)適應(yīng)任何瀏覽器和PDA(掌上電腦)。 XSL也可以將XML轉(zhuǎn)化為HTML,那樣,老的瀏覽器也可以瀏覽XML文檔了。 2.CSS CSS大家很熟悉了,全稱是Cascading Style Sheets(層疊樣式表),是目前用來在瀏覽器上顯示XML文檔的主要方法。 3.Behaviors Behaviors現(xiàn)在還沒有成為標(biāo)準(zhǔn)。它是微軟的IE瀏覽器特有的功能,用它可以對(duì)XML標(biāo)識(shí)設(shè)定一些有趣動(dòng)作。 七.DOM DOM全稱是document object model(文檔對(duì)象模型),DOM是用來干什么的呢?假設(shè)把你的文檔看成一個(gè)單獨(dú)的對(duì)象,DOM就是如何用HTML或者XML對(duì)這個(gè)對(duì)象進(jìn)行操作和控制的標(biāo)準(zhǔn)。 面向?qū)ο蟮乃枷敕椒ㄒ呀?jīng)非常流行了,在編程語言(例如java,js)中,都運(yùn)用面向?qū)ο蟮木幊趟枷?。在XML中,就是要將網(wǎng)頁也作為一個(gè)對(duì)象來操作和控制,我們可以建立自己的對(duì)象和模板。與對(duì)象進(jìn)行交流,如何命令對(duì)象,就要用到API。API全稱Application Programming Interface,它是訪問和操作對(duì)象的規(guī)則。而DOM就是一種詳細(xì)描述HTML/XML文檔對(duì)象規(guī)則的API。它規(guī)定了HTML/XML文檔對(duì)象的命名協(xié)定,程序模型,溝通規(guī)則等。在XML文檔中,我們可以將每一個(gè)標(biāo)識(shí)元素看作一個(gè)對(duì)象---它有自己的名稱和屬性。 XML創(chuàng)建了標(biāo)識(shí),而DOM的作用就是告訴script如何在瀏覽器窗口中操作和顯示這些標(biāo)識(shí) 上面我們已經(jīng)簡要的講述了一些XML的基本原理,我們來看看它們之間的關(guān)聯(lián)以及它們是如何工作的,先看這里一張圖:

1.XML描述數(shù)據(jù)類型。例如:"King lear"是一個(gè)標(biāo)題元素; 2.CSS儲(chǔ)存并控制元素的顯示樣式。例如:標(biāo)題將被以18pt字體顯示 3.script腳本控制元素如何動(dòng)作。例如:當(dāng)一個(gè)title元素"out of stock",將被用紅色顯示。 4.DOM則為腳本和對(duì)象的交流提供一個(gè)公共平臺(tái),并將結(jié)果顯示在瀏覽器窗口。 如果任何一個(gè)部分發(fā)生錯(cuò)誤,都不會(huì)得到正確結(jié)果。 好了,看到這里,我們已經(jīng)對(duì)XML是如何工作的有一個(gè)整體的大致的概念。通過這一章的學(xué)習(xí),我們可能感覺到XML似乎更偏向數(shù)據(jù)處理,更方便程序員學(xué)習(xí)。實(shí)際情況也是這樣的,XML設(shè)計(jì)的目的就是用來方便的共享和交互數(shù)據(jù)的。下一章,我們將系統(tǒng)的了解關(guān)于XML的各種術(shù)語。歡迎您繼續(xù)瀏覽。(出處:eNet學(xué)院)

標(biāo)簽:河南 紅河 沈陽 長治 樂山 新疆 滄州 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《XML輕松學(xué)習(xí)手冊(cè)(二):XML概念》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    东乡县| 霍林郭勒市| 中江县| 潼南县| 高台县| 克什克腾旗| 杭锦旗| 贵阳市| 湾仔区| 新竹市| 临沭县| 诸城市| 平远县| 始兴县| 琼海市| 宁化县| 班戈县| 札达县| 那曲县| 拜城县| 综艺| 乌拉特后旗| 肃北| 平顶山市| 聂荣县| 灌阳县| 巨鹿县| 温宿县| 特克斯县| 老河口市| 苍南县| 丽江市| 池州市| 黑龙江省| 龙岩市| 略阳县| 桐梓县| 随州市| 中西区| 泽普县| 永德县|