DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML基礎 >> XML 技術指南(1)
XML 技術指南(1)
編輯:XML基礎     

 

概要:本文介紹了XML以及XML家族中的各項技術。我們將討論這其中的各項核心技術是如何組合成一個完整的整體以及一些支持XML技術的東西究竟是什麼。
 
  似乎這樣的事情每天都在發生:越來越多的開發者都相信XML(Extensible Markup Language)將從根本上改變我們的軟件業。但如果你想從他們那裡弄清楚這一切為什麼或是何時將會發生時,你會發現他們給的解釋中充斥著大堆有關XML的專有名詞的縮寫。這些東西實際上並不能讓你明白些什麼,我相信你一定不會滿意像他們這樣的解釋。

  通常,人們在學習掌握XML時所遇到的主要障礙來自於XML驚人的發展速度。如果你浏覽一下W3C關於XML的網站(http://www.w4.org/xml/),你會發現有關XML的大量技術以及相關的出版物。W3C將如此大量的信息聚集在一起,給開發者造成了不小的麻煩。在對"XML所含蓋的所用技術是如何整合在一起"這樣關鍵性的問題還沒用明確概念的情況下,想要學習XML是比較困難的。

  本文向你介紹了XML和XML家族中的各項技術,使你不僅在更高層次上對XML的重要性有所了解,而且知道XML中的各項技術是如何組合在一起成為一項完整的技術。讀完本文,你會將會對困擾你的那些XML專用名詞及其縮寫用一個大致的了解,為你今後從更深層次學習XML打下基礎。

  那麼,究竟什麼是XML呢?

  在很多介紹以前的XML的作者中,回答這個問題已經成為了一種風潮。就像你已經熟知的一樣,XML是Extensible Markup Language的正式縮寫。他們可能認為XML的發音比EML讀起來更性感,於是就將原先的字母E換成了字母X。然而,當你跨過縮寫從更深層次上來理解XML時,你會發現它不僅僅是一種標記語言,而是一系列的技術。這一技術家族為我們開發具用更好的可擴展性和互操作性的軟件提供了一種解決方案。

  XML來自何處?

  XML起源於SGML(Standard Generalized Markup Language。換句話說,你可以既使用XML也可以使用SGML來創建自己的描述性文檔。這兩種語言都使用文本標識(Tags)來描述數據以供其他應用或是工具(例如一個SGML或是XML分析程序)使用。有了XML,它們可以正確的讀取信息並對數據進行一些有趣的操作。XML是SGML的一個簡化版本,它更適合於在Web上使用。

  XML的語法

  XML定義了用來描述你的數據的語法。一下就是一句正確的XML語句:

  <hamburger name="CowBurger" lowfat="dream on"/>

  和其他的標識語言有所不同,XML對大小寫是敏感的。所以,<hamburger>元素和<Hamburger>元素在XML中是不同的。同時,XML不會忽略空格(其他的語言常常忽略空格)。對每一個可能對文檔結構造成混淆的字符,XML都會仔細的處理(就像< and >)。

  如果一個XML文檔只含有一個根元素,並且所有的子元素都被正確地放在父元素中,這樣的XML具有良好的風格。更具體地說,就是對每一個給定的子元素,它的begin和end tag都只存在於相同的父元素中。下面就是一段風格良好的XML文檔示例(hamburger.xml)。

<?xml version="1.0"?>
<hamburgers>
 <hamburger lowfat="dream on">
  <name>CowBurger</name>
  <description>Greasy and good.</description>
  <price>2.99</price>
 </hamburger>
</hamburgers>


  誰來定義Tags?

  讀了前面的部分後,你會發現你已基本上了解了XML的語法。其實這裡的內容並不是很多,XML確實是非常簡單。

  可能你已經注意到了,XML看起來很像HTML(Hypertext Markup Language)。他們都用相同的語法來定義begin和end tag以及一些屬性。從本質上說,HTML使用的是一些預先設定好的元素和方法,只是XML的一個特例。這些元素及其相關的方法決定了浏覽器如何解釋一個XML文檔,進而提供給最終用戶。

  和HTML為創建用戶界面提供了一種通用的方法一樣,XML提供了一種描述並協同數據工作的通用方法。XML允許開發者創建自己的XML詞匯,用自定義的方式描述他們自己的數據結構。假如一個開發者正在為一個快餐連鎖店開發軟件,那麼,為了描述一些食品,一個"漢堡包"元素可能會十分的方便。

  一旦開發者使用了XML來描述他們的數據,他們就可以很方便的在相同的或是不同的系統中對這些數據進行互操作。當然,前提是那些系統都能理解XML。譬如說,一位開發者可以使用來自另一個系統的數據,只要那些數據是用XML描述的。如此一來,開發者在考慮軟件的互操作性時就再也不必擔心諸如平台、操作系統、語言、或是數據存儲等各方面的不同了。XML是實現系統之間互操作性的最簡單工具。

  XML的名字空間

  由於XML對互操作性的支持,每個人都可以創建屬於自己的XML詞匯。這樣一來,如果不同的開發者用相同的元素來代表不同的實體的話,後果是不可想象的。為了防止這種潛在的沖突,W3C在XML中引入了名字空間。

  XML名字空間為你的XML文檔元素提供了一個上下文。它允許開發者按一定的語義來處理元素。還以漢堡包舉例說明,在某個系統中price元素可能代表的是消費者的購買價,而在另一個系統中,它可能代表了商店的進貨價。下面的例子演示了名字空間是怎樣幫我們解決這樣的問題的。

<?xml version="1.0"?>
<hamburgers
  xmlns:purchase="http://fastfood.org/franchise/prices"
  xmlns:sales="http://fastfood.org/customer/prices"
>
 <hamburger lowfat="dream on">
  <

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved