欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

歷數(shù)Firefox2.0對(duì)XML處理的改進(jìn)

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-17 20:16:04   作者:佚名   我要評(píng)論
Firefox 2.0 在對(duì) XML 的支持方面有幾個(gè)重要的改進(jìn)。目前它的用戶(hù)部署如日中天。了解 Firefox 2.0 XML 特性的改進(jìn),包括在 RSS Web 提要處理方面有爭(zhēng)議的變化。 被賦予新應(yīng)用程序平臺(tái)的角色后,現(xiàn)在 Web 瀏覽器可能是最熱門(mén)的軟件。對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō)這是令人激動(dòng)的時(shí)

Firefox 2.0 在對(duì) XML 的支持方面有幾個(gè)重要的改進(jìn)。目前它的用戶(hù)部署如日中天。了解 Firefox 2.0 XML 特性的改進(jìn),包括在 RSS Web 提要處理方面有爭(zhēng)議的變化。
被賦予新應(yīng)用程序平臺(tái)的角色后,現(xiàn)在 Web 瀏覽器可能是最熱門(mén)的軟件。對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō)這是令人激動(dòng)的時(shí)刻,動(dòng)態(tài) HTML 技術(shù)以 Asynchronous JavaScript XML (Ajax) 獲得重生,Microsoft® Internet Explorer® 的開(kāi)發(fā)得以恢復(fù)等等。過(guò)去兩年中,關(guān)于 XML 和 Firefox 的 developerWorks 系列文章(請(qǐng)參閱 參考資料)介紹了以 1.8 版本的核心 Mozilla 瀏覽器引擎為基礎(chǔ)的 Firefox 1.5 版。此后,Mozilla 項(xiàng)目永不停歇的開(kāi)發(fā)步伐又催生了 Firefox 2.0,它以 Gecko 1.8.1 Web 呈現(xiàn)引擎為基礎(chǔ)。Firefox 2.0 的一些改進(jìn)涉及到 XML 處理。本文介紹了最新的 Firefox XML 處理功能,包括開(kāi)發(fā)人員應(yīng)該記住的可能遇到的主要障礙。
減少了對(duì) Web 提要的控制
Firefox 2.0 一個(gè)變化引起了用戶(hù)社區(qū)的極大驚慌。如果提供 RSS 或 Atom 這類(lèi) Web 提要,可能需要包括 XSLT 樣式表為用戶(hù)轉(zhuǎn)換成其他表示形式。清單 1 中的 Atom 提要引用了這樣的轉(zhuǎn)換。
清單 1. 包含樣式表引用的 Atom 提要
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xml" href="atom2html.xslt"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xml:lang="en"
xml:base="http://www.example.org">
<id>http://www.example.org/myfeed</id>
<title>My Simple Feed</title>
<updated>2005-07-15T12:00:00Z</updated>
<link href="/blog" />
<link rel="self" href="/myfeed" />
<author><name>Uche Ogbuji</name></author>
<entry>
<id>http://www.example.org/entries/1</id>
<title>A simple blog entry</title>
<link href="/blog/2005/07/1" />
<updated>2005-07-14T12:00:00Z</updated>
<summary>This is a simple blog entry</summary>
</entry>
<entry>
<id>http://www.example.org/entries/2</id>
<title />
<link href="/blog/2005/07/2" />
<updated>2005-07-15T12:00:00Z</updated>
<summary>This is simple blog entry without a title</summary>
</entry>
</feed>

關(guān)鍵是第二行中的樣式表處理指令(PI)。如果用 Firefox 1.5 打開(kāi),瀏覽器就會(huì)盡職盡責(zé)地加載 atom2html.xslt 并顯示結(jié)果。本系列文章第 2 部分(請(qǐng)參閱 參考資料)已經(jīng)提到,查看實(shí)際的 XML 必須通過(guò) “查看源代碼”。在 Firefox 2.0 中,瀏覽器忽略該樣式表 PI 并使用定制的 Firefox 視圖查看,如圖 1 所示(Firefox 2.0.0.6、Mac OS X 平臺(tái)上的屏幕截圖)。

圖 1. Firefox 2.0 內(nèi)置的 Web 提要視圖
避免這種情況并強(qiáng)制使用所選樣式表,惟一的辦法就是愚弄頭腦簡(jiǎn)單的 Firefox,它通過(guò)在文件前 512 個(gè)字節(jié)中查找 “rss” 或 “feed” 來(lái)判定是否為 Web 提要。清單 2 采用了一種廣為人知的辦法,專(zhuān)門(mén)插入一段注釋來(lái)填充這 512 個(gè)字節(jié)。
清單 2. 繞過(guò) Firefox 2.0 和 Internet Explorer 7 默認(rèn)樣式表處理方式的 Atom 提要
<?xml version="1.0" encoding="utf-8"?>
<!-- Firefox 2.0 and Internet Explorer 7 use simplistic feed sniffing to override desired
presentation behavior for this feed, and thus we are obliged to insert this comment, a
bit of a waste of bandwidth, unfortunately. This should ensure that the following
stylesheet processing instruction is honored by these new browser versions. For some more
background you might want to visit the following bug report:
https://bugzilla.mozilla.org/show_bug.cgi?id=338621
-->
<?xml-stylesheet type="text/xml" href="atom2html.xslt"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xml:lang="en"
xml:base="http://www.example.org">
<!-- content of the feed identical to listing 1, so trimmed -->
</feed>

考慮了用戶(hù)社區(qū)的反對(duì)意見(jiàn)之后,F(xiàn)irefox 開(kāi)發(fā)人員決定堅(jiān)持自身的立場(chǎng),因而這種行為方式將保留到未來(lái)的 Firefox 版本之中。我個(gè)人不喜歡這種方式,您可以閱讀有關(guān)的爭(zhēng)論再?zèng)Q定喜歡與否。值得一提的是,這種做法與 Internet Explorer 和 Apple Safari 有相似之處。
#p#
微摘要
微摘要(microsummarie),也稱(chēng)為活動(dòng)標(biāo)題(Live Title)是 Firefox 2.0 一種簡(jiǎn)潔的新特性,可以讓瀏覽器用網(wǎng)站中一些有意義的內(nèi)容來(lái)替換標(biāo)題,特別是在書(shū)簽中。比如,IBM developerWorks 的微摘要可以用站點(diǎn)上的最新文章標(biāo)題代替靜態(tài)文字 “developerWorks : IBM's resource for developers”。網(wǎng)站可以提供一個(gè)微摘要,用戶(hù)也可自行創(chuàng)建。后一種情況稱(chēng)為 “微摘要生成器”,也是本文更關(guān)注的一點(diǎn),因?yàn)樗笥脩?hù)端處理 XML 和 XSLT(不熟悉 XML 的人可以重復(fù)使用其他人提供的生成器)。清單 3 中的微摘要生成器提取 developerWorks 主打文章的標(biāo)題。
清單 3. 使用 IBM developerWorks 主打文章標(biāo)題的微摘要生成器
<?xml version="1.0" encoding="UTF-8"?>
<generator xmlns="http://www.mozilla.org/microsummaries/0.1"
name="IBM developerWorks featured article">
<template>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:html="http://www.w3.org/1999/xhtml">
<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="//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è)面信息。模板包括應(yīng)用于網(wǎng)頁(yè)的提取微摘要文本的 XSLT 代碼。后者指定瀏覽器把微摘要應(yīng)用于哪個(gè)頁(yè)面。微摘要是簡(jiǎn)單的文本,輸出指令與此相適應(yīng)。微摘要的關(guān)鍵在于 XPath //html:a[@class='feature'][1],查找包含主打文章標(biāo)題的元素。pages 部分的正則表達(dá)式保證微摘要可用于網(wǎng)站首頁(yè)和每個(gè) developerWorks 專(zhuān)區(qū)的首頁(yè)。
參考資料 提供的一篇教程說(shuō)明了如何安裝 清單 3 這樣的微摘要生成器。到目前為止,微摘要還是 Mozilla 特有的特性。
SAX 及其他
對(duì)于那些開(kāi)發(fā) Mozilla 擴(kuò)展的人來(lái)說(shuō),最有意義的是 Mozilla XPCOM 組件系統(tǒng)現(xiàn)在提供了一個(gè) SAX 解析器框架。如果沒(méi)有合適的高層處理技術(shù),可以自行開(kāi)發(fā)高效處理 XML 的擴(kuò)展。XPCOM 集成意味著可以用 C 、JavaScript 或具有 XPCOM 綁定支持的其他任何語(yǔ)言來(lái)處理 SAX 事件。
OpenSearch
OpenSearch 是 Amazon A9 孵化器開(kāi)發(fā)的一個(gè) XML 標(biāo)準(zhǔn)。它提供了幾種 XML 格式和其他約定來(lái)描述和使用搜索引擎。Firefox 一直強(qiáng)力支持可擴(kuò)展的搜索引擎插件,2.0 引入了 OpenSearch 支持,因而可以通過(guò)與 Iternet Explorer 及其他瀏覽器兼容的機(jī)制擴(kuò)展搜索功能。
Firefox 支持的 OpenSearch 1.1 目前是 beta 版,為保持與 Firefox 和 OpenSearch 的兼容性,可能需要更新。清單 4 提供了對(duì)于 IBM developerWorks 的 OpenSearch 描述文檔。
清單 4. IBM developerWorks 的 OpenSearch 描述文檔

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<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>

該文檔僅僅說(shuō)明 IBM developerWorks 提供了一個(gè)搜索 URL:
http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by={searchTerms}
其中的 {searchTerms} 是一個(gè)模板參數(shù),搜索工具將使用搜索項(xiàng)目來(lái)代替它。如果搜索 “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 提要的約定和幾種專(zhuān)用的擴(kuò)展。Firefox 還不支持這種 Web 提要搜索結(jié)果,如果描述不含 Url 元素和 type="text/html"(表示從 URL 返回的內(nèi)容類(lèi)型)則返回錯(cuò)誤。這種限制很不合理,但也可能是基于多數(shù)人仍然通過(guò)傳統(tǒng) HTML 表單和結(jié)果頁(yè)面而不是 Web 2.0 機(jī)制搜索的現(xiàn)實(shí)考量。
在 Firefox 2.0 中,清單 4 這樣的 OpenSearch 描述就像是完整的搜索引擎插件。網(wǎng)站可以使用頁(yè)面頭部的鏈接指定這樣的描述,比如:
<link rel="search" type="application/opensearchdescription xml"
title="IBM developerWorks"
href="/path/to/opensearch/description/document.xml"/>

注意:前面的三行代碼通常顯示為一行。為了便于顯示和打印而分解成多行。
結(jié)束語(yǔ)
仍在 alpha 測(cè)試階段的 Firefox 3.0 將帶來(lái)更重要的 XML 特性。預(yù)計(jì)將在 2008 年上半年發(fā)布完整的版本。包括關(guān)于 XML 處理的重要 bug 修正和新的特性,當(dāng)它成為主流 Firefox 版本的時(shí)候我將繼續(xù)討論。Mozilla 核心 XML 工具箱仍然在不斷改進(jìn),對(duì)于涉及 XML 技術(shù)的開(kāi)發(fā)人員和用戶(hù)來(lái)說(shuō)是一大福音。對(duì)于多數(shù)用戶(hù)和開(kāi)發(fā)人員來(lái)說(shuō),Web 瀏覽器是 XML 處理的臉面,本系列文章講繼續(xù)追蹤和討論最新 Firefox 版本的相關(guān)特性。

參考資料 您可以參閱本文在 developerWorks 全球網(wǎng)站上的 英文原文。 Updated developer features for Firefox 2.0:查看 Firefox 2.0 的新特性,其中部分涉及到 XML。 Updated developer features for Firefox 3.0:跟蹤 Firefox 下一版本的變化和新功能,包括和 XML 有關(guān)的新特性。 XML in Firefox 1.5:閱讀這三篇最新的 developerWorks 系列文章: Firefox 1.5 中的 XML,第 1 部分: XML 特性概述(Uche Ogbuji,2006 年 3 月):了解這一迅速發(fā)展的 Web 瀏覽器的 XML 新特性。 Firefox 1.5 中的 XML,第 2 部分: 基本 XML 處理(Uche Ogbuji,2006 年 3 月):Firefox 中的基本 XML 處理,包括 XML 解析、級(jí)聯(lián)樣式表(CSS)和 XSLT 樣式表。還需要了解一些限制。 XML in Firefox 1.5, Part 3: JavaScript meets XML in Firefox(Uche Ogbuji,2006 年 8 月):使用 JavaScript 在 Firefox 瀏覽器中操作 XML。 Controversial new Firefox 2.0 change:關(guān)于 Firefox 忽略很多 XML Web 提要中所提供樣式表鏈接的討論。 Microsummaries:了解這種 Firefox 2.0 新增的網(wǎng)頁(yè)自動(dòng)更新摘要。 SAX support in Firefox 2.0:了解如何使用 Simple API for XML (SAX) 解析 API 和 XUL 應(yīng)用程序及擴(kuò)展。 SVG in Firefox 2.0:了解 Firefox 2.0 對(duì) SVG 的支持。 Creating OpenSearch plugins for Firefox:創(chuàng)建與 OpenSearch 兼容的支持 Firefox 專(zhuān)有特性的搜索插件,如搜索提示和 SearchForm 元素。 Introducing OpenSearch (Uche Ogbuji,O'Reilly xml.com,2007 年 7 月):了解 OpenSearch,共享搜索結(jié)果的一組簡(jiǎn)單格式。 developerWorks search help:高效的搜索策略,了解如何輸入搜索查詢(xún)和使用 IBM developerWorks 運(yùn)算符。 IBM XML 認(rèn)證:看看如何才能成為一名 IBM 認(rèn)證的 XML 及相關(guān)技術(shù)的開(kāi)發(fā)人員。 XML 技術(shù)文檔庫(kù):developerWorks XML 專(zhuān)區(qū)提供了大量技術(shù)文章和技巧、教程、標(biāo)準(zhǔn)以及 IBM 紅皮書(shū)。 developerWorks 技術(shù)事件和網(wǎng)絡(luò)廣播:隨時(shí)關(guān)注技術(shù)的最新進(jìn)展。 技術(shù)書(shū)店:關(guān)于本文主題和其他技術(shù)主題的書(shū)籍。
獲得產(chǎn)品和技術(shù)
Firefox:基于 Mozilla 的 Web 瀏覽器提供了符合標(biāo)準(zhǔn)、高效安全和強(qiáng)大的 XML 特性。當(dāng)前版本是 2.0.0.6。 IBM 試用版軟件:用這些試用版軟件開(kāi)發(fā)您的下一個(gè)項(xiàng)目,可直接從 developerWorks 下載。
關(guān)于作者
Uche Ogbuji 是 Zepheira, LLC 的合伙人,這家公司專(zhuān)門(mén)提供下一代 Web 技術(shù)解決方案。Ogbuji 是 4Suite 的首席開(kāi)發(fā)人員,這是一種用于 XML、RDF 和知識(shí)管理應(yīng)用程序的開(kāi)放源代碼平臺(tái);也是 Versa RDF 查詢(xún)語(yǔ)言的首席開(kāi)發(fā)人員。他是一位出生在尼日利亞的計(jì)算機(jī)工程師和技術(shù)作家,目前定居在科羅拉多的博爾德。可以通過(guò)他的 Weblog Copia 進(jìn)一步了解 Ogbuji 先生。

相關(guān)文章

  • MIME類(lèi)型中application/xml與text/xml的區(qū)別介紹

    這篇文章介紹了MIME類(lèi)型中application/xml與text/xml的區(qū)別,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-28
  • 詳解XML中的模式Schema

    XML中擁有Schema特性,能夠比DTD更加強(qiáng)大地引入元素結(jié)構(gòu),下面我們就來(lái)詳解XML中的模式Schema的概念及作用和用法,需要的朋友可以參考下
    2021-11-30
  • XML基本概念入門(mén)學(xué)習(xí)指南

    這篇文章主要介紹了XML基本概念入門(mén)學(xué)習(xí)指南,包括其與HTML的關(guān)系以及元素和特殊標(biāo)簽等,需要的朋友可以參考下
    2016-06-24
  • XML中的DTD文檔類(lèi)型定義完全解析

    XML標(biāo)簽的自定義功能非常強(qiáng)大,比如本文將要講解的DTD(Document Type Definition)就帶給人們一種面向?qū)ο蟀愕母杏X(jué),well,下面就來(lái)看一下XML中的DTD文件類(lèi)型定義完全解析
    2016-06-24
  • 簡(jiǎn)介XML文檔的閱讀與編輯

    這篇文章主要介紹了XML文件的閱讀與編輯,最常用的工具當(dāng)然還是瀏覽器中的控制臺(tái)與源代碼查看,需要的朋友可以參考下
    2016-02-16
  • 簡(jiǎn)單了解XML中的命名空間

    這篇文章主要介紹了XML的命名空間,包括命名空間的聲明等XML入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-02-16
  • 解析XML中的樹(shù)形結(jié)構(gòu)與DOM文檔對(duì)象模型

    這篇文章主要介紹了XML中的樹(shù)形結(jié)構(gòu)與DOM文檔對(duì)象模型,文中舉了JavaScript解析DOM對(duì)象的例子,需要的朋友可以參考下
    2016-02-15
  • 詳解XML編程中的模式定義XSD

    這篇文章主要介紹了詳解XML編程中的模式定義XSD,講解了如何在XML文檔中聲明模式及定義類(lèi)型等內(nèi)容,需要的朋友可以參考下
    2016-02-15
  • 深入解析XML中的DTD文檔類(lèi)型定義

    這篇文章主要介紹了XML中的DTD文檔類(lèi)型定義,是XML入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-02-15
  • 淺談XML代碼編寫(xiě)的編碼與驗(yàn)證問(wèn)題

    這篇文章主要介紹了XML代碼編寫(xiě)的編碼與驗(yàn)證問(wèn)題,與HTML類(lèi)似,XML文件的編碼也能在序言部分被指定,需要的朋友可以參考下
    2016-02-15

最新評(píng)論