Search This Blog

Sunday, October 7, 2007

Thinking XML: Firefox 2.0 and XML

This article explains how the latest Firefox release updates XML
processing. Web browsers are perhaps the hottest sort of software right
now, given their emerging role as the new application platform. These
are particularly exciting times for software development, what with the
re-emergence of dynamic HTML technologies as Asynchronous JavaScript +
XML (Ajax), the revival of Microsoft Internet Explorer development, and
more. The relentless pace of development in the Mozilla project has
since led to the release of Firefox 2.0, building on the Gecko 1.8.1
Web rendering engine. Some of the developments in Firefox 2.0 touch on
XML processing. (1) Less control over Web feeds: If you host a Web
feed such as RSS or Atom you might include XSLT in order to turn that
stylesheet into some other representation for the user. In Firefox 1.5,
the browser dutifully loads [the XSLT] and displays the results; you
have to view source to see the actual XML. In Firefox 2.0, the browser
ignores the stylesheet PI and uses a custom Firefox view... After
considerable debate in the user community the Firefox developers decided
to stand their ground, and as things stand, the behavior will be the
same in future Firefox versions; the new behavior is similar to that of
Internet Explorer and Apple Safari. (2) Microsummaries, also called
Live Titles are a neat new feature in Firefox 2.0 where you instruct
the browser to substitute some useful content from a Web site in place
of its title, particularly in bookmarks. A Web site can offer a
microsummary, or the user can create one. The latter case is known as
a "microsummary generator"; it requires XML and XSLT processing on the
part of the user. (3) SAX: There is now a SAX parser framework for the
XPCOM component system of Mozilla. This should allow people to develop
extensions that process XML efficiently, if none of the other higher
level processing technologies are suitable. XPCOM integration means
you can handle SAX events with C++ or JavaScript code, or with any other
language with XPCOM bindings. (4) OpenSearch: OpenSearch is an XML
standard developed at the Amazon A9 incubator. It provides several XML
formats and other conventions to describe and use search engines.
Firefox has always had strong support for extensible search engine
plug-ins, and version 2.0 introduces OpenSearch support so that search
features can be extended using facilities that are also compatible with
Internet Explorer and other browsers. Firefox supports OpenSearch 1.1,
which is presently in beta, so it's possible that updates will be
required to keep compatibility with Firefox and OpenSearch. Even more
significant XML features will come in Firefox 3.0, which is in alpha
testing. Expect a full release in the first half of 2008. It includes
some very significant bug fixes and new features for XML processing.

No comments: