科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道历数Firefox2.0对XML处理的改进

历数Firefox2.0对XML处理的改进

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了最新的 Firefox XML 处理功能,包括开发人员应该记住的可能遇到的主要障碍。

作者:巧巧读书 来源:巧巧读书 2008年7月25日

关键字: Firefox 2.0 火狐 火狐浏览器 Firefox

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

微摘要

微摘要(microsummarie),也称为活动标题(Live Title)是 Firefox 2.0 一种简洁的新特性,可以让浏览器用网站中一些有意义的内容来替换标题,特别是在书签中。

比如,IBM developerWorks 的微摘要可以用站点上的最新文章标题代替静态文字 “developerWorks : IBM's resource for developers”。网站可以提供一个微摘要,用户也可自行创建。后一种情况称为 “微摘要生成器”,也是本文更关注的一点,因为它要求用户端处理 XML 和 XSLT(不熟悉 XML 的人可以重复使用其他人提供的生成器)。清单 3 中的微摘要生成器提取 developerWorks 主打文章的标题。

清单 3. 使用 IBM developerWorks 主打文章标题的微摘要生成器

<?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>

生成器包括两部分:模板和页面信息。模板包括应用于网页的提取微摘要文本的 XSLT 代码。后者指定浏览器把微摘要应用于哪个页面。微摘要是简单的文本,输出指令与此相适应。微摘要的关键在于 XPath //html:a[@class='feature'][1],查找包含主打文章标题的元素。pages 部分的正则表达式保证微摘要可用于网站首页和每个 developerWorks 专区的首页。

参考资料 提供的一篇教程说明了如何安装 清单 3 这样的微摘要生成器。到目前为止,微摘要还是 Mozilla 特有的特性。

SAX 及其他

对于那些开发 Mozilla 扩展的人来说,最有意义的是 Mozilla XPCOM 组件系统现在提供了一个 SAX 解析器框架。如果没有合适的高层处理技术,可以自行开发高效处理 XML 的扩展。XPCOM 集成意味着可以用 C++、JavaScript 或具有 XPCOM 绑定支持的其他任何语言来处理 SAX 事件。

OpenSearch

OpenSearch 是 Amazon A9 孵化器开发的一个 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="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>

该文档仅仅说明 IBM developerWorks 提供了一个搜索 URL:

http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by={searchTerms}

其中的 {searchTerms} 是一个模板参数,搜索工具将使用搜索项目来代替它。如果搜索 “Firefox XML”,URL 将变成:

http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by=Firefox+XML

OpenSearch 规范了定义了这种 URL 模板系统。OpenSearch 还定义了把结果返回为 RSS 2.0 或 Atom 1.0 提要的约定和几种专用的扩展。Firefox 还不支持这种 Web 提要搜索结果,如果描述不含 Url 元素和 type="text/html"(表示从 URL 返回的内容类型)则返回错误。这种限制很不合理,但也可能是基于多数人仍然通过传统 HTML 表单和结果页面而不是 Web 2.0 机制搜索的现实考量。

在 Firefox 2.0 中,清单 4 这样的 OpenSearch 描述就像是完整的搜索引擎插件。网站可以使用页面头部的链接指定这样的描述,比如:

<link rel="search" type="application/opensearchdescription+xml"
title="IBM developerWorks"
href="/path/to/opensearch/description/document.xml"/>

注意:前面的三行代码通常显示为一行。为了便于显示和打印而分解成多行。

结束语

仍在 alpha 测试阶段的 Firefox 3.0 将带来更重要的 XML 特性。预计将在 2008 年上半年发布完整的版本。包括关于 XML 处理的重要 bug 修正和新的特性,当它成为主流 Firefox 版本的时候我将继续讨论。Mozilla 核心 XML 工具箱仍然在不断改进,对于涉及 XML 技术的开发人员和用户来说是一大福音。对于多数用户和开发人员来说,Web 浏览器是 XML 处理的脸面,本系列文章讲继续追踪和讨论最新 Firefox 版本的相关特性。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章