The Browser War continued (2/6) - exploring XML | WebReference

The Browser War continued (2/6) - exploring XML

The Browser War continued: XML support in IE and Mozilla

Mozilla 5 alpha

The mozilla group has recently released the Milestone 12 version of their browser. This browser uses XML internally as well as for Web documents.

Mozilla uses the expat XML Parser, written in C by James Clark. Expat is the foundation for everything XML-related in mozilla, for both inner workings and XML document support.

XML for browser-internal data

Configuration data such as user preferences and bookmarks are stored in RDF (Resource Description Framework), an XML standard for expressing semantic networks. XML is also used for data exchange with a server for SmartBrowsing services. The user interface is expressed in XUL (XML-based User Interface Language) and then displayed by the rendering engine, similar to HTML for the documents.


Aurora is the codename for the browser's internal datastore, which uses XML in the form of RDF, the Resource Description Framework. The browser needs to store quite a bite of local and user information, both persistent and transient, in the form of Aurora stores and manipulates all these data items as RDF data structures, providing uniform access to all kinds of data flavors. This illustrates XML's potential use as a universal data storage format.


Netscape and Alexa have pioneered the concept of smart browsing, where the user types keywords instead of cryptic URLs into the location bar, and receives additonal information on Web pages such as a list of related sites. The communications between client and server is also encoded in XML, making a good example of XML as a communications protocol format sent over standard HTTP, bypassing Internet-unfriendly protocols such as COM, CORBA or Java RMI.


XUL stands for "XML-based user interface language." It is an XML-based language for describing the contents of windows and dialogs. XUL has language constructs for all of the typical dialog controls, as well as for widgets like toolbars, trees, progress bars, and menus. Where HTML describes the contents of a single document, XUL describes the contents of an entire window (which could itself contain multiple HTML documents). This mechanism is a very helpful tool for cross-platform support because it allows one user interface described in XUL to be rendered by platform-specific implementations of the XUL engine, on different platforms.

XML document support

Mozilla also supports the use of XML as a document format, albeit in a different way than Internet Explorer. Both browsers support XML formatted with CSS, but while IE supports XSL Mozilla evolves into the direction of CSS2. Mozilla M12 supports: Mozilla contains a complete CSS1 implementation, with more advanced CSS2 features, such as CSS2 selectors, tables, and fixed elements.

XSLT in Mozilla

Mozilla M12 doesn't offer out-of-the-box XSLT support. The group added hooks to enable you to call an external XSLT engine, and Eric Krock from Netscape informed me that an external developer is developing just such an engine on an open source basis. So the ability exists to plug in an XSLT engine to Mozilla if you wish. They will evaluate "officially" adding XSLT support in the future.

Eric invites you to join the development: "Keep in mind that since Mozilla is completely free and open source, anyone who wants to make this happen sooner is welcome to get involved and contribute the necessary source. An XSLT newsgroup has just been started on, and we'll be happy to provide everything necessary for anyone who wishes to set up their own project (project area, Bugzilla components, etc.). Look at the excellent work Roger Sidje & co. have done on MathML to see how quickly this approach can produce results. Please convey to your readers my formal invitation to start an XSLT project on"

If you, like me, want to use that stuff rather than implement it, we can only hope that somebody will pick this up soon.


Netscape and claim full standards support for HTML 4.0, CSS1, DOM1, and XML. I am sure a detailed examination of this will show up in the HTML and DHTML sections at WebReference real soon now. Curently XSL is out of scope for Mozilla version 5. Even if you feel like fiddling with the code base to plug in XSLT support, you end up with your personal version of the browser, increasing the number of variations out there with different features, and different bugs. Proliferation continues....

next page

Produced by Michael Claßen
All Rights Reserved. Legal Notices.

Created: Jan. 17, 2000
Revised: Jan. 17, 2000