將改變我們生活的這些XML應(yīng)用之一
發(fā)表時(shí)間:2024-02-06 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]將改變我們生活的XML有關(guān)的這些應(yīng)用,你知道多少? 1. XHTML XHTML 1.0 [W3C 推薦標(biāo)準(zhǔn)]基本上是對(duì) HTML 4 的改寫,使其成為結(jié)構(gòu)良好的 XML。HTML 是一種 SGML 應(yīng)用,當(dāng) XML 作為對(duì) SGML 在 Web 應(yīng)用上的簡(jiǎn)化和規(guī)范化開發(fā)出來的時(shí)候,HTML(...
將改變我們生活的XML有關(guān)的這些應(yīng)用,你知道多少?
1. XHTML
XHTML 1.0 [W3C 推薦標(biāo)準(zhǔn)]基本上是對(duì) HTML 4 的改寫,使其成為結(jié)構(gòu)良好的 XML。HTML 是一種 SGML 應(yīng)用,當(dāng) XML 作為對(duì) SGML 在 Web 應(yīng)用上的簡(jiǎn)化和規(guī)范化開發(fā)出來的時(shí)候,HTML(本身是 Web 上的通用語言)就成為采用 XML 的首選目標(biāo)。于是出現(xiàn)了 HTML 的一種變體,稱為 XHTML。XHTML 研究的目標(biāo)是一種更容易解析(因?yàn)?XML 的語法更加嚴(yán)格)的 HTML 語言。XHTML 很容易用現(xiàn)成的 XML 工具處理,力求更好地分離內(nèi)容與表示。XHTML 是最古老的 XML 應(yīng)用之一,有許多利益集團(tuán)在不同的部分和版本中起過作用。我將盡力對(duì)其中的大部分加以概括。
與三種HTML 4 DTD——Strict、Transitional 和 Frameset 對(duì)應(yīng),XHTML 1.0 定義了不同的 DTD 和名稱空間。Modularization of XHTML [W3C 推薦標(biāo)準(zhǔn)]提供了一個(gè)框架,把 XHTML 分解成單獨(dú)的模塊,作為不同的 DTD 定義。比如,用于定義列表的所有元素和屬性組成一個(gè)模塊,而和表示有關(guān)的元素類型則放在另一個(gè)模塊中。這樣,就可以通過增加、減少和修改通用的獨(dú)立模塊開發(fā)和重新定義 XHTML。沿著這條路線,第一步就是 XHTML Basic [W3C 推薦標(biāo)準(zhǔn)],它定義了任何作為 XHTML 的語言都必須具有的最小 XHTML 模塊集。XHTML Basic 本身可以作為 Web 客戶的內(nèi)容語言,如移動(dòng)電話、PDA、尋呼機(jī)和置頂盒。XHTML 1.1 [W3C 推薦標(biāo)準(zhǔn)]基本上就是使用模塊框架分解的 XHTML 1.0 Strict DTD。
XHTML 2.0 [開發(fā)中]是對(duì) XHTML 的重寫,沒有考慮與 HTML 的向后兼容。這種想法差不多就是為 Web 編寫一種全新的內(nèi)容語言,學(xué)習(xí)過去的經(jīng)驗(yàn)而又不束縛于過去。其中大的變化有:
取消了 <br/>、 <img/> 以及其他認(rèn)為過于面向表示的元素
取消 HTML 風(fēng)格的表單,改為支持 XForm(本系列文章前已述及)
取消 HTML 風(fēng)格的鏈接改為 HLink(本系列文章中前已述及)
用 XML Event 代替許多 JavaScript 驅(qū)動(dòng)的動(dòng)態(tài)任務(wù)
用 XFrame 代替 HTML 風(fēng)格的框架
更重要的是,XHTML 2.0 做了許多擴(kuò)展,增強(qiáng)了作者表達(dá)內(nèi)容結(jié)構(gòu)和含義的能力。打破向后兼容性引起了爭(zhēng)議。一些評(píng)論者認(rèn)為保持 (X)HTML 的名稱只修改版本號(hào)會(huì)造成混亂。其他人則說這些修改非常必要,而 XHTML 實(shí)際上仍然是一種可擴(kuò)展超本文標(biāo)記語言,因此保留原來的名稱非常合適。
XHTML 常常和其他嵌入格式一起使用,如 MathML、RDF、SVG、SMIL 和 VoiceXML(后面都將予以介紹)。這種混合文檔稱為多模的或者非單體的。W3C、ISO 以及其他組織正投入巨大的努力鼓勵(lì)對(duì)這種文檔的強(qiáng)力支持。
2. Docbook
Docbook 原來是一種流行的 SGML 格式,用于編纂書籍和文檔,尤其是帶有較多技術(shù)特性的文檔。后來增加了一個(gè) XML 版本,DocBook XML V4.2 [OASIS 委員會(huì)規(guī)范]是最新的成果。Docbook 非常流行,得到了許多工具的支持,其中很多工具非常成熟。它作為避免混合表示問題與內(nèi)容格式的一個(gè)范例而受人尊敬。最近,一些開發(fā)人員開始抱怨它從過去的版本繼承了太多的負(fù)擔(dān),紛紛討論(甚至包括它的主要開發(fā)者 Norm Walsh)為這種格式重新開發(fā)一種新的、不向后兼容的版本。
Text Encoding Initiative (TEI) 甚至比 Docbook 更古老,這種文檔格式在某種程度上與 Docbook 的應(yīng)用范圍類似,區(qū)別在于它通常處理的是人文學(xué)科的文本而非技術(shù)文本。TEI 本身不是一種 SGML 或 XML 應(yīng)用,而是一組用于構(gòu)造語言(DTD)的指導(dǎo)原則。最常用的 TEI 變體是 TEI Lite [社區(qū)標(biāo)準(zhǔn)]。TEI 以其復(fù)雜性馳名,這在一定程度上限制了它被大量采用,但是它得到了很好的維護(hù),并在一些社區(qū)中有狂熱的用戶。
3. XSL-FO
Extensible Stylesheet Language Formatting Objects (XSL-FO) [W3C 推薦標(biāo)準(zhǔn)]是一種使用 XML 定義的表示語言。(注意,鏈接規(guī)范的標(biāo)題是 "Extensible Stylesheet Language (XSL)",但內(nèi)容事實(shí)上只包括 XSL 的格式化對(duì)象方面。)XSL-FO 是一種 XML 格式,可被任何用戶代理用于按照開發(fā)人員給定的精確規(guī)范呈現(xiàn)內(nèi)容。它的角色類似于 Web 用戶界面中的 XHTML, 但是更加復(fù)雜,以便表達(dá)適用于打印形式的格式化細(xì)節(jié)。這些細(xì)節(jié)和級(jí)聯(lián)樣式表(CSS——本系列文章前已述及)中所規(guī)定的沒有什么不同,但是在 XSL-FO 中,這些細(xì)節(jié)構(gòu)成了這種標(biāo)記語言本身的一個(gè)實(shí)例,而不是呈現(xiàn)單個(gè)標(biāo)記的指令。
XSL-FO 常用作 XSLT(本系列文章前已述及)的輸出格式。事實(shí)上,最初 XSLT 和 XSL-FO 是一個(gè)系統(tǒng),稱為 XSL,但是工作組明智地將這兩個(gè)部分分成了兩個(gè)不同的規(guī)范。有多種開放源代碼的或者商業(yè)化的工具可以將 XSL-FO 轉(zhuǎn)化成 TeX、Adobe 的 PDF 以及其他適于打印和排版的(非 XML)輸出格式。這種應(yīng)用模式使 XSL-FO 非常流行,但是 XSL-FO 一直希望成為 WYSIWYG 工具或者類似工具的原生呈現(xiàn)格式,它的這種應(yīng)用也開始受到推動(dòng)。XSL-FO 1.1 [開發(fā)中]是這種語言的升級(jí),增加了注釋、索引、書簽之類的特性,并增強(qiáng)了圖像的處理能力。