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