Posted on 2006-02-28 13:35
fortune 閱讀(532)
評(píng)論(1) 編輯 收藏 所屬分類:
java技術(shù)
1.什么是 XML?
可擴(kuò)展標(biāo)記語言(Extensible Markup Language,XML)提供了一種標(biāo)記內(nèi)容的方式,可以添加關(guān)于數(shù)據(jù)用途的信息。信息使用 XML 存儲(chǔ)之后,稱為解析器的應(yīng)用程序就能夠可靠地提取相關(guān)信息,并根據(jù)不同的需要處理。
2.XML 可用來做什么?
XML 可用于各種不同的應(yīng)用程序,但其實(shí)質(zhì)是:XML 是一種表示數(shù)據(jù)的方式。有時(shí)候數(shù)據(jù)是為數(shù)據(jù)庫準(zhǔn)備的,有些時(shí)候則是供人閱讀的。與這兩方面應(yīng)用相關(guān)的技術(shù),比如數(shù)據(jù)驗(yàn)證和 XML 轉(zhuǎn)換也已經(jīng)隨著 XML 自身一起發(fā)展起來。
XML 包括驗(yàn)證或者確認(rèn)的能力、文檔結(jié)構(gòu)和文檔(在某種意義上的)內(nèi)容。驗(yàn)證文檔有助于防止數(shù)據(jù)與期望具有特定結(jié)構(gòu)的應(yīng)用程序進(jìn)行交互時(shí)出現(xiàn)問題,當(dāng) XML 與非 XML 的遺留系統(tǒng)交互時(shí)這一點(diǎn)尤其有用。最初的 XML 1.0 推薦標(biāo)準(zhǔn)包括對(duì)文檔類型定義(Document Type Definitions,DTD)的支持,DTD 提供了一些驗(yàn)證能力。W3C XML Schemas 擴(kuò)展了這種功能,并提供了一種更加類似 XML 的語法。
可通過多種方式使用 XML 封裝的數(shù)據(jù)。一種常見的處理方式是通過使用可擴(kuò)展樣式表語言轉(zhuǎn)換(Extensible Stylesheet Language Transformations,XSLT),開發(fā)人員可以使用 XSLT 定義對(duì) XML 文檔的操作,以生成特定的結(jié)果。這種動(dòng)態(tài)轉(zhuǎn)換信息的能力允許從單個(gè)源文檔產(chǎn)生多種輸出,無論輸出到不同的數(shù)據(jù)庫還是輸出到不同的瀏覽器。
XSL 格式化對(duì)象(XSL Formatting Objects,XSL-FO)是一種強(qiáng)大而靈活的格式化數(shù)據(jù)的 XML 詞匯表,常與 XSLT 結(jié)合使用,把 XML 和 HTML 轉(zhuǎn)化成 PDF(可移植文檔格式)。
3.如何在應(yīng)用程序開發(fā)中使用 XML?
開發(fā) XML 應(yīng)用程序時(shí)常用到幾種模型。您可以使用根據(jù)這些模型創(chuàng)建的 API 來分析和操縱 XML 結(jié)構(gòu),這些模型可以是基于對(duì)象的,如文檔對(duì)象模型(Document Object Model,DOM)和 JDOM;也可以是基于事件的,如 Simple API for XML(SAX)。另外,Java API for XML Parsing(JAXP)提供了使用 DOM、SAX 和 XSLT 處理 XML 文檔的通用接口。
其中最常用的 API 是 DOM,在這種模型里文檔的每個(gè)成分被描述成特定類型的節(jié)點(diǎn)。這些節(jié)點(diǎn)按照父子關(guān)系組織。各種不同的語言中都有 DOM API 的綁定,如 Java、C++、Perl 和 Python。
SAX 是第二種應(yīng)用最廣的 API。和基于對(duì)象的 DOM 模型不同,SAX 是一種基于事件的模型,把文檔轉(zhuǎn)化成一系列回調(diào),如 startElement()。
因?yàn)?XML 實(shí)質(zhì)上是一種簡單的文本,任何人都可以創(chuàng)建處理 XML 的 API。事實(shí)上,SAX 并不是由正式的組織創(chuàng)建的,而是由 XML-DEV 郵件列表的成員完成的。由松散組織創(chuàng)建的另一種 API 是 JDOM――它是基于對(duì)象的。JDOM 和 DOM 類似,但是和 Java 語言的聯(lián)系更密切。
4.使用的 XML 語言有哪些?
XML 的優(yōu)勢在于它能夠在多種環(huán)境中使用。大量涌現(xiàn)的各種 XML 詞匯表,使人們能夠立即互相理解。三種最常用的詞匯表是可擴(kuò)展超文本標(biāo)記語言(Extensible HyperText Markup Language,XHTML)、資源定義框架(Resource Definition Framework,RDF)和可縮放向量圖形(Scalable Vector Graphics,SVG)。
XHTML 是 XML 形式的 HTML 修訂版。XHTML 文檔就是遵守 XML 規(guī)則的 HTML 文檔。同時(shí),從業(yè)務(wù)和表示兩方面定義了其他的 XML 詞匯表:RDF 提供了一種向 XML 文檔添加信息的方式;SVG 提供了一種使用 XML 指定圖形元素的方式(因?yàn)?SVG 是基于文本的 XML,不僅可用于動(dòng)態(tài)生成圖形,還可用于動(dòng)畫和腳本);語音可擴(kuò)展標(biāo)記語言(Voice Extensible Markup Language,Voice XML)則用于電話菜單和其他語音相關(guān)的系統(tǒng)。
大體上了解 XML 之后,使用特定的詞匯表只需要理解它所包含的各種元素和屬性,以及它所表示的含義。
5. XML 和 Web 服務(wù)的關(guān)系?
XML 是構(gòu)建 Web 服務(wù)的理想基礎(chǔ),因?yàn)樗龠M(jìn)了易于標(biāo)準(zhǔn)化和易于理解的消息創(chuàng)建。
6.如何提高 XML 技能?
一旦理解了使用 XML 的基礎(chǔ)知識(shí),您會(huì)發(fā)現(xiàn)有很多需要提高的地方,最好的辦法就是慢慢進(jìn)步。