The Browser War continued (1/6) - exploring XML
The Browser War continued: XML support in IE and Mozilla
- XML and Internet Explorer 5
- XML and Mozilla M12
- No XML in other browsers?
- XML with CSS example for Mozilla, and (yes, it's possible!) both browsers
- XML with XSL example for IE5
- Server-side XSL solution
Microsoft and the brave new world of real standardsMicrosoft's success is based on owning and controlling a de-facto Standard, Windows. Luckily the Internet is bigger than Windows and any company in particular. In the age of the Internet, real committee standards matter more than ever. While Microsoft is reluctant to support CORBA, and has difficulties in dealing with Java, it seems to be committed to support HTML and XML technologies. Microsoft has captured browser market share from Netscape and positions Dynamic HTML and XML as an alternative to Java applets for pushing rich interactive content to the client. IE5 delivers on just that.
Internet Explorer 5IE5 was the first Web browser to support XML, including the inevitable Microsoft enhancments that it hopes will be approved by the World Wide Web Committee (W3C). IE5 supports the following XML-related features:
- XML page view
When a URL refers to an XML document, it is parsed and presented as a collapsable tree view. Parse errors are displayed together with the position at which they were encountered. This feature is very useful for getting started with XML, e.g. for parsing and displaying XML documents that were created in editors without XML support.
- XML 1.0 and namespace standards
IE5 supports these standards as specified by the W3C. As mentioned in a earlier articles namespaces are a facility for mixing vocabularies from different domains, by prefixing tag names with distinct qualifiers. This way <stock:quote> can be unambiguously distinguished from <speech:quote>.
- XML Document Object Model (DOM)
- Extensible Stylesheets (XSL)
The default tree representation of an XML document can be overridden with XSL style sheets as previously demonstrated. Here, too, the implementation preceeded the standardization effort so differences exist, especially in using XPath for matching templates.
- XML Data in HTML
XML can be embedded in HTML with the <XML> tag. With id="myIdy" it introduces a block of inline XML data, with src="myURL" you can embed an external XML document. Both will be exposed to scripting through the DOM, mentioned above.
- XML Schema
This is a more database-oriented alternative for specifying document types. Other than standard Document Type Definitions (DTDs) it is expressed in XML itself and contains data type descriptions such as integers, floats and more. The W3C is working on similar functionality.
- XML Control
The XML parser and XSL processor are packaged as COM automation objects. This way XML processing can be integrated into any Windows application, especially but not limited to server-side Web applications such as ASP (Active Server Pages, Microsoft's HTML page generation technology).
SoapboxAll told Microsoft delivered useful components for processing XML and XSL on Windows. The embedding of those components into the operating system opens up once again the potential for security problems, though. Watch out for the incompatabilities of IE5 and IE5.5 with W3C standards, especially in the DOM and XSL. In my humble opinion the differences in current implementations prohibit large-scale adoption of this processing model, unless you can tightly control which browser and which version is in use. Otherwise you will likely have to deal with client-specific processing for each minor sub-version of the browser, not (yet) to mention other browsers.
Mozilla and the Heritage of Netscape
From the mozilla.org Web site: "Mozilla is an open-source Web browser, designed for standards compliance, performance and portability. We [mozilla.org, the editor] coordinate the development and testing of the browser by providing discussion forums, software engineering tools, releases and bug tracking."
In best open source tradition everybody can contribute by writing code, testing, and writing documentation. While manyfold delays and rumblings behind the scene have hampered the impact of this ambitious project on the browser war we finally can get hold of a first end-user-relevant version of the browser.
Created: Jan. 17, 2000
Revised: Jan. 17, 2000