XML in Mozilla 1.0 (2/2) - exploring XML

XML in Mozilla 1.0

Transport of XML

While the DOM functions provide powerful access to a document's structure and content, sending
and receiving documents has also been implemented in Mozilla 1.0:

XMLHttpRequest and SOAP

Microsoft has introduced an XMLHttpRequest object into IE that allows for sending and receiving
of XML documents over HTTP. This functioanlity has been mirrored in Mozilla as closely as possible.
SOAP is also supported, as well as some parsing and serialization functions to be replaced by DOM level3.

XML-RPC

The XML-RPC specification from UserLand is available as a JavaScript object, rounding out the
number of transport protocols for XML documents supported by Mozilla 1.0.

Internal use of XML

XML is also used for internal tasks in Mozilla, such as storing bookmarks, describing the user
interface, and attaching events to it:

RDF

All internal data is stored in RDF (Resource Description Framework). Mozilla uses RDF to aggregate and
display information about things like email, news, site maps, bookmarks, and browser history.

XUL

The most widely publicized use of XML in Mozilla is XUL (the XML User Interface Language), used to describe
Mozilla's own user interface. It is an elegant way of specifying UI where usually binary resource files
are employed, but has also been criticized as the most bloated and overkill design decision in Mozilla. Many
derivates of Mozilla use the Gecko rendering engine directly with a native widget set wrapped around it,
losing a few megabytes and gaining a few seconds at program startup. The choice is yours, but the technology is
neat in any case.

XBL

XBL is a companion to XUL for describing bindings that can be attached to elements in other documents through
CSS or DOM. Such bindings can be used for dynamic manipulation of the behavior of elements, by attaching
scripts to certain events and nodes. This is going in the same direction as Microsoft's behavior elements
in CSS.

Conclusion

Waiting for Mozilla 1.0 has certainly paid off (and long did we wait...). It provides a rich document
processing environment, with all content accessible through DOM functions, and manifold application
development features through XUL and its programming APIs. It remains to
be seen if significant numbers of surfers will now
choose this new platform for interactive applications
that go well beyond simple page display, or whether the 80% market share of
Internet Explorer (at least on this Web site) teaches Mozilla: Not too little, but much too late...