Make your own free website on

Introduction to DOM -- "What is the Document Object Model" introduction at: and there is the W3C site for all that is DOM:

SAX DOM Parsers lots of parsers at
XML is a mechanism for serializing an object tree, while object trees are a mechanism for compiling XML documents

Here's a good site: Scroll down to the site Table of Contents; in the Parsers and Engines category, select "XML Parsers." Links take you to download/info pages.

Have a look at the parser conformance test results on at Those are for SAX interfaces, but many of the packages that can produce a DOM tree use the same core engine that the SAX API excercises. That is, the same level of XML conformance will normally come through DOM.

Two parser styles are available DOM and SAX, DOM builds a tree, SAX provides interrupts and data for processing applications like browsers.

The DOM is a generic object model for XML documents, but when you already have a domain-specific object model, it will usually be more efficient -- in those cases, people tend to use an event-based API like SAX to build their object trees directly, eliminating the middle DOM phase. published a comparision of parsers, you may want to take a look there.

Dean Roddey The CIDLib Class Libraries Charmed Quark Software Rodney wrote the IBM XML4C parser -> go to xml

libxml-perl software works in combination with XML::Parser, PerlSAX, XML::DOM, XML::Grove, and others.
HTML-rendered PODs can be found on the home page, <>

IE5 MSXML Parser. "XML-Data" -- note that the information on is incomplete.


Which XML C/C++ parser to use?
Expat is small, fast, and stable -- it's getting a very heavy workout in the Perl community (where it's the standard Perl XML parser), so serious bugs tend to have been chased down, and it seems to operate practically at I/O speed.

On the downside, Expat is C rather than C++, so the interface is a little messy -- you might want to put together a C++ wrapper to help avoid nastier bugs.

I have no experience yet with IBM4C++, but I do know that they have an interface based on SAX as well as the DOM. It's very new, so expect bugs.--- David Megginson

A JSR (Java Specification Request) entitled "XML Data Binding" was submitted to the Java Community Process. From the description:

The proposed specification will define an XML data-binding facility for the Java(tm) Platform. Such a facility compiles an XML schema into one or more Java classes. These automatically-generated classes handle the translation between XML documents that follow the schema and interrelated instances of the derived classes. They also ensure that the constraints expressed in the schema are maintained as instances of the classes are manipulated.

An accompanying design note was also published on For more information please see

Please send formal comments on this JSR to Technical
comments and questions may be sent to

There is a long thread on using XML with Cold Fusion (with code examples) at
James Carlyle -- -- - directory of XML content on the web

The DOM Level 1 does define a rows attribute on the HTMLFrameSetElement interface. See
Arnaud Le Hors - W3C, DOM Activity Lead - works directly on the DOM