微摘要
微摘要(microsummarie),也稱為活動標題(Live Title)是 Firefox 2.0 一種簡潔的新特性,可以讓瀏覽器用網(wǎng)站中一些有意義的內(nèi)容來替換標題,特別是在書簽中。比如,IBM developerWorks 的微摘要可以用站點上的最新文章標題代替靜態(tài)文字 “developerWorks : IBM's resource for developers”。網(wǎng)站可以提供一個微摘要,用戶也可自行創(chuàng)建。后一種情況稱為 “微摘要生成器”,也是本文更關(guān)注的一點,因為它要求用戶端處理 XML 和 XSLT(不熟悉 XML 的人可以重復(fù)使用其他人提供的生成器)。清單 3 中的微摘要生成器提取 developerWorks 主打文章的標題。
清單 3. 使用 IBM developerWorks 主打文章標題的微摘要生成器
<?xml version="1.0" encoding="UTF-8"?> <generator xmlns=" name="IBM developerWorks featured article"> <template> <xsl:transform xmlns:xsl=" xmlns:html=" <xsl:output method="text"/> <xsl:template match="/"> <xsl:text>Featured article:</xsl:text> <!-- On sites that make wider use of element IDs you can use more direct and efficient XPaths --> <xsl:value-of select="http://html:a[@class='feature'][1]"/> </xsl:template> </xsl:transform> </template> <pages> <include>http://www.ibm.com/developerworks/[a-zA-Z0-9]*/?</include> </pages> </generator>
生成器包括兩部分:模板和頁面信息。模板包括應(yīng)用于網(wǎng)頁的提取微摘要文本的 XSLT 代碼。后者指定瀏覽器把微摘要應(yīng)用于哪個頁面。微摘要是簡單的文本,輸出指令與此相適應(yīng)。微摘要的關(guān)鍵在于 XPath //html:a[@class='feature'][1],查找包含主打文章標題的元素。pages 部分的正則表達式保證微摘要可用于網(wǎng)站首頁和每個 developerWorks 專區(qū)的首頁。
參考資料 提供的一篇教程說明了如何安裝 清單 3 這樣的微摘要生成器。到目前為止,微摘要還是 Mozilla 特有的特性。
SAX 及其他
對于那些開發(fā) Mozilla 擴展的人來說,最有意義的是 Mozilla XPCOM 組件系統(tǒng)現(xiàn)在提供了一個 SAX 解析器框架。如果沒有合適的高層處理技術(shù),可以自行開發(fā)高效處理 XML 的擴展。XPCOM 集成意味著可以用 C++、JavaScript 或具有 XPCOM 綁定支持的其他任何語言來處理 SAX 事件。
OpenSearch
OpenSearch 是 Amazon A9 孵化器開發(fā)的一個 XML 標準。它提供了幾種 XML 格式和其他約定來描述和使用搜索引擎。Firefox 一直強力支持可擴展的搜索引擎插件,2.0 引入了 OpenSearch 支持,因而可以通過與 Iternet Explorer 及其他瀏覽器兼容的機制擴展搜索功能。
Firefox 支持的 OpenSearch 1.1 目前是 beta 版,為保持與 Firefox 和 OpenSearch 的兼容性,可能需要更新。清單 4 提供了對于 IBM developerWorks 的 OpenSearch 描述文檔。
清單 4. IBM developerWorks 的 OpenSearch 描述文檔 <?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns=" <ShortName>IBM developerWorks search</ShortName> <Description>Search IBM developerWorks zones</Description> <Tags>xml java architecture</Tags> <InputEncoding>utf-8</InputEncoding> <Contact>https://www.ibm.com/developerworks/secure/feedback.jsp </Contact> <!-- The template attribute is split at the "?" for formatting purposes --> <Url type="text/html" template="http://www.ibm.com/developerworks/views/xml/ libraryview.jsp? search_by={searchTerms}"/> <Attribution>All content Copyright 2007, IBM developerWorks</Attribution> </OpenSearchDescription>
該文檔僅僅說明 IBM developerWorks 提供了一個搜索 URL:
http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by={searchTerms}
其中的 {searchTerms} 是一個模板參數(shù),搜索工具將使用搜索項目來代替它。如果搜索 “Firefox XML”,URL 將變成:
http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by=Firefox+XML
OpenSearch 規(guī)范了定義了這種 URL 模板系統(tǒng)。OpenSearch 還定義了把結(jié)果返回為 RSS 2.0 或 Atom 1.0 提要的約定和幾種專用的擴展。Firefox 還不支持這種 Web 提要搜索結(jié)果,如果描述不含 Url 元素和 type="text/html"(表示從 URL 返回的內(nèi)容類型)則返回錯誤。這種限制很不合理,但也可能是基于多數(shù)人仍然通過傳統(tǒng) HTML 表單和結(jié)果頁面而不是 Web 2.0 機制搜索的現(xiàn)實考量。
在 Firefox 2.0 中,清單 4 這樣的 OpenSearch 描述就像是完整的搜索引擎插件。網(wǎng)站可以使用頁面頭部的鏈接指定這樣的描述,比如:
<link rel="search" type="application/opensearchdescription+xml" title="IBM developerWorks" href="/path/to/opensearch/description/document.xml"/>
注意:前面的三行代碼通常顯示為一行。為了便于顯示和打印而分解成多行。
結(jié)束語
仍在 alpha 測試階段的 Firefox 3.0 將帶來更重要的 XML 特性。預(yù)計將在 2008 年上半年發(fā)布完整的版本。包括關(guān)于 XML 處理的重要 bug 修正和新的特性,當(dāng)它成為主流 Firefox 版本的時候我將繼續(xù)討論。Mozilla 核心 XML 工具箱仍然在不斷改進,對于涉及 XML 技術(shù)的開發(fā)人員和用戶來說是一大福音。對于多數(shù)用戶和開發(fā)人員來說,Web 瀏覽器是 XML 處理的臉面,本系列文章講繼續(xù)追蹤和討論最新 Firefox 版本的相關(guān)特性。
參考資料
獲得產(chǎn)品和技術(shù)
- Firefox:基于 Mozilla 的 Web 瀏覽器提供了符合標準、高效安全和強大的 XML 特性。當(dāng)前版本是 2.0.0.6。
- IBM 試用版軟件:用這些試用版軟件開發(fā)您的下一個項目,可直接從 developerWorks 下載。
關(guān)于作者
Uche Ogbuji 是 Zepheira, LLC 的合伙人,這家公司專門提供下一代 Web 技術(shù)解決方案。Ogbuji 是 4Suite 的首席開發(fā)人員,這是一種用于 XML、RDF 和知識管理應(yīng)用程序的開放源代碼平臺;也是 Versa RDF 查詢語言的首席開發(fā)人員。他是一位出生在尼日利亞的計算機工程師和技術(shù)作家,目前定居在科羅拉多的博爾德?梢酝ㄟ^他的 Weblog Copia 進一步了解 Ogbuji 先生。
本文鏈接:http://www.95time.cn/tech/program/2007/5125.asp
出處:IBM developerWorks
責(zé)任編輯:moby
上一頁 歷數(shù)Firefox2.0對XML處理的改進 [1] 下一頁
◎進入論壇網(wǎng)絡(luò)編程版塊參加討論
|