,這就是語言的可擴展性
。XML是從SGML中簡化修改出來的。它主要用到的有XML
、 XSL和XPath等
。
上面這段是對XML的一個基本定義,一個被廣泛接受的說明。簡單說,XML就是一種數(shù)據(jù)的描述語言,雖然它是語言,但是通常情況下,它并不具備常見語言的基本功能——被計算機識別并運行。只有依靠另一種語言,來解釋它,使它達到你想要的效果或被計算機所接受。
假如你是剛接觸XML的新手,那么可能并無法從定義上是了解XML是什么。也許,你可以換個角度來認識XML是什么;從應用面來認識XML,從XML可以做些什么來認識它,這應該能比那更空洞的定義對你更有幫助
。
XML應用面主要分為兩種類型,文檔型和數(shù)據(jù)型。下面介紹一下幾種常見的XML應用:
1、
自定義XML+XSLT=>HTML,最常見的文檔型應用之一。XML存放整個文檔的XML數(shù)據(jù)
,然后XSLT將XML轉換
、解析,結合XSLT中的HTML標簽,最終成為HTML
,顯示在瀏覽器上
。典型的例子就是CSDN上的帖子。
2、XML作為微型數(shù)據(jù)庫
,這是最常見的數(shù)據(jù)型應用之一。我們利用相關的XML API(
MSXML DOM、
JAVA DOM等)對XML進行存取和查詢
。留言板的實現(xiàn)中,就經?div id="jfovm50" class="index-wrap">?梢钥吹接肵ML作為數(shù)據(jù)庫
。同時,這里要告訴一些新人
,數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
,這兩個概念是不同的。這里順便提一下XML對數(shù)據(jù)庫系統(tǒng)的影響
。在新版本的傳統(tǒng)數(shù)據(jù)庫系統(tǒng)中
,XML成為了一種數(shù)據(jù)類型。和“傳統(tǒng)”相對的就是一種新形態(tài)的數(shù)據(jù)庫
,完全以XML相關技術為基礎的數(shù)據(jù)庫系統(tǒng)
。目前比較知名的
eXist。3、作為信息傳遞的載體
。為什么說是載體呢?因為這些應用雖然還是以XML為基本形態(tài)
,但是都已經發(fā)展出具有特定意義的格式形態(tài)
。最典型的就是
WEB SERVICE,將數(shù)據(jù)包裝成XML來傳遞
,但是這里的XML已經有了特定的規(guī)格
,即
SOAP。不過這里還不得不說
AJAX,
AJAX的應用中,相信也有一部分的應用是以自定義XML為數(shù)據(jù)
,不過沒有成為工業(yè)標準
,這里不做詳述。
4、應用程序的配置信息數(shù)據(jù)
。最典型的就是J2EE配置 WEB服務器時用的web.XML。這個應用估計是很容易理解的了。我們只要將需要的數(shù)據(jù)存入XML
,然后在我們的應用程序運行載入
,根據(jù)不同的數(shù)據(jù),做相應的操作
。這里其實和應用2
,有點類似,所不同的在于
,數(shù)據(jù)庫中的數(shù)據(jù)變化是個常態(tài)
,而配置信息往往是較為靜態(tài),缺少變化的
。
5、其他一些文檔的XML格式。如WORD
、EXCEL等
。
6、保存數(shù)據(jù)間的映射關系。如Hibernate
。
這幾種常見應用中,我們還可以根據(jù)其應用廣泛程度,分為:
自定義XML和
特定意義XML。在1和2就是屬于
自定義XML的范疇;3至6則屬于
特定意義XML ,或者說是XML的延伸
。
這里介紹的6種應用,基本涵蓋了XML的主要用途 ?div id="m50uktp" class="box-center"> ?傊琗ML是一種抽象的語言