WIKI使用導航
站長百科導航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應用
- 美國十大主機
PHP-XML擴展:修訂間差異
無編輯摘要 ? |
Ahbaybface(討論 | 貢獻) 無編輯摘要 ? |
||
第157行: | 第157行: | ||
[[category: | [[category:PHP教程]] |
2009年12月10日 (四) 16:49的最新版本
導航: 上一頁 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
擴展性[ ]
使用XML,你可以為你的文檔建立自己的標記(tags)。
XML的第一個詞是"擴展性",這正是XML強大的功能和彈性的原因。
在HTML里,有許多固定的標記,我們必須記住然后使用它們,你不能使用HTML規(guī)范里沒有的標記。而在XML中,你能建立任何你需要的標記。你可以充分發(fā)揮你的想象力,給你的文檔起一些好記的標記名稱。比如,你的文檔里包含一些游戲的攻略,你可以建立一個名為<game>的標記,然后在<game>下再根據(jù)游戲類別建立<RPG>,<SLG>等標記。只要清晰,易于理解你可以建立任何數(shù)量的標記。
一開始你也許會不適應,因為我們在學習HTML時,有固定的標記可以直接學習和使用;(很多人包括我自己都是邊分析別人的代碼和標識,邊建立自己的網(wǎng)頁),而XML卻沒有任何標記可以學,也很少有文檔的標記是一模一樣的。我們怎么辦?呵呵,沒有就自己創(chuàng)建呀。一旦你真正開始寫XML文檔,你會發(fā)現(xiàn)隨心所欲的創(chuàng)造新標記也是一份很有趣的事。你可以建立有自己特色的標記,甚至建立你自己的HTML語言。
擴展性使你有更多的選擇和強大的能力,但同時也產(chǎn)生一個問題就是你必須學會規(guī)劃。你自己要理解自己的文檔,知道它由哪幾部分組成,相互之間的關系和如何識別它們。
關于建立標識還需要說明一點,標識是描述數(shù)據(jù)的類型或特性,比如<width>,年齡<age>,姓名<name>等,而不是數(shù)據(jù)的內(nèi)容,比如:<10pxl>,<18>,<張三>,這些都是無用的標記。如果你學過數(shù)據(jù)庫,你可以這樣理解,標識就是一種字段名。
標識[ ]
使用XML你可以識別文檔中的元素。
XML的第二個詞是"標識",這表明了XML的目的是標識文檔中的元素。
不論你是HTML,還是XML,標識的本質(zhì)在于便于理解,如果沒有標識,你的文檔在計算機看來只是一個很長的字符串,每個字看起來都一樣,沒有重點之分。
通過標識,你的文檔才便于閱讀和理解,你可以劃分段落,列明標題。XML中,你更可以利用其擴展性 來為文檔建立更合適的標識。
不過,有一點要提醒大家注意:標識僅僅是用來識別信息,它本身并不傳達信息。例如這樣的HTML代碼:
這里 表示粗體,只用來說明是用粗體來顯示"frist step"字符, 本身并不包含任何實際的信息,在頁面上你看不到 , 真正傳達信息的是"frist step "。
語言[ ]
使用XML你要遵循特定的語法來標識你的文檔。
XML第三個詞是"語言"。這表明了作為一種語言XML必須遵循一定的規(guī)則。雖然XML的擴展性允許你創(chuàng)建新標識,但它仍然必須遵循特定的結(jié)構(gòu),語法和明確的定義。
在計算機領域,語言常常表示一?quot;程序語言",用來編程實現(xiàn)一些功能和應用,但不是所有的"語言"都是用來編程的,XML就只是一種用來定義標識和描述信息的語言。
下面我們來深入了解一下XML應用的其本原理,可能會很枯燥,但是對于整體的理解很重要,你可以先快速過一遍,心里有一個模糊的概念,具體精髓則需要在實踐中慢慢領會。
結(jié)構(gòu)化[ ]
XML促使文檔結(jié)構(gòu)化,所有的信息按某種關系排列。
"結(jié)構(gòu)化"聽起來太抽象了,我們這樣理解,結(jié)構(gòu)化就是為你的文檔建立一個框架,就象寫文章先寫一個提綱。結(jié)構(gòu)化使你的文檔看起來不會雜亂無章,每一部分都緊密聯(lián)系,形成一個整體。
結(jié)構(gòu)化有兩個原則:
1.每一部分(每一個元素)都和其他元素有關聯(lián)。關聯(lián)的級數(shù)就形成了結(jié)構(gòu)。
2.標識本身的含義與它描述的信息相分離。
我們來看一個簡單的例子幫助理解:
<?xml version="1.0" encoding="GB2312"?>
<myfile>
<title>XML輕松學習手冊</title>
<chapter>XML快速入門
<para>什么是XML</para>
<para>使用XML的好處</para>
</chapter>
<chapter>XML的概念
<para>擴展性</para>
<para>標識</para>
</chapter>
</myfile>
這是本文的XML描述文檔,可以看到標識分三級關聯(lián),非常清晰:
<myfile>
<chapter>
<para>
...
</para>
</chapter>
</myfile>
上面這樣的文檔結(jié)構(gòu),我們又稱之為"文檔樹",主干是父元素,如<myfile>,分支和頁是子元素,如<chapter>和<para>。
Meta數(shù)據(jù)(Metadata)[ ]
專業(yè)的XML使用者會使用meta數(shù)據(jù)來工作。
在HTML中我們知道可以使用meta標識來定義網(wǎng)頁的關鍵字,簡介等,這些標識不會顯示在網(wǎng)頁中,但可以被搜索引擎搜索到,并影響搜索結(jié)果的排列順序。
XML對這一原理進行了深化和擴展,用XML,你可以描述你的信息在哪里,你可以通過meta來驗證信息,執(zhí)行搜索,強制顯示,或者處理其他的數(shù)據(jù)。
下面是一些XML metadata在實際應用中的用途:
1.可以驗證數(shù)字簽名,使在線商務的提交動作(submission)有效。
2.可以被方便的建立索引和進行更有效搜索。
3.可以在不同語言之間傳輸數(shù)據(jù)。
W3C組織正在研究一種名為RDF(Resource Description Framework)的metadata處理方法,可以自動交換信息,W3C宣稱,使用RDF配合數(shù)字簽名,將使網(wǎng)絡中存在"真實可信"的電子商務。
顯示[ ]
單獨用XMl不能顯示頁面,我們使用格式化技術,比如CSS或者XSL,才能顯示XML標記創(chuàng)建的文檔。
我們在前面第一章講到XML是將數(shù)據(jù)和格式分離的。XML文檔本身不知道如何來顯示,必須有輔助文件來幫助實現(xiàn)。(XML取消了所有標識,包括font,color,p等風格樣式定義標識,因此XML全部是采用類似DHTML中CSS的方法來定義文檔風格樣式。),XML中用來設定顯示風格樣式的文件類型有:
XSL[ ]
XSL全稱是Extensible Stylesheet Language(可擴展樣式語言), 是將來設計XML文檔顯示樣式的主要文件類型。它本身也是基于XML語言的。使用XSL,你可以靈活的設置文檔顯示樣式,文檔將自動適應任何瀏覽器和PDA(掌上電腦)。
XSL也可以將XML轉(zhuǎn)化為HTML,那樣,老的瀏覽器也可以瀏覽XML文檔了。
CSS[ ]
CSS大家很熟悉了,全稱是Cascading Style Sheets(層疊樣式表),是目前用來在瀏覽器上顯示XML文檔的主要方法。
Behaviors[ ]
Behaviors現(xiàn)在還沒有成為標準。它是微軟的IE瀏覽器特有的功能,用它可以對XML標識設定一些有趣動作。
DOM[ ]
DOM全稱是document object model(文檔對象模型),DOM是用來干什么的呢?假設把你的文檔看成一個單獨的對象,DOM就是如何用HTML或者XML對這個對象進行操作和控制的標準。
面向?qū)ο蟮乃枷敕椒ㄒ呀?jīng)非常流行了,在編程語言(例如java,js)中,都運用面向?qū)ο蟮木幊趟枷?。在XML中,就是要將網(wǎng)頁也作為一個對象來操作和控制,我們可以建立自己的對象和模板。與對象進行交流,如何命令對象,就要用到API。API全稱Application Programming Interface,它是訪問和操作對象的規(guī)則。而DOM就是一種詳細描述HTML/XML文檔對象規(guī)則的API。它規(guī)定了HTML/XML文檔對象的命名協(xié)定,程序模型,溝通規(guī)則等。在XML文檔中,我們可以將每一個標識元素看作一個對象---它有自己的名稱和屬性。
XML創(chuàng)建了標識,而DOM的作用就是告訴script如何在瀏覽器窗口中操作和顯示這些標識
上面我們已經(jīng)簡要的講述了一些XML的基本原理。
1.XML描述數(shù)據(jù)類型。例如:"King lear"是一個標題元素;
2.CSS儲存并控制元素的顯示樣式。例如:標題將被以18pt字體顯示
3.script腳本控制元素如何動作。例如:當一個title元素"out of stock",將被用紅色顯示。
4.DOM則為腳本和對象的交流提供一個公共平臺,并將結(jié)果顯示在瀏覽器窗口。
如果任何一個部分發(fā)生錯誤,都不會得到正確結(jié)果。