Here you can read about and download an LGPL'ed implementation of the Document Object Model (DOM) written in C++.
This implementation of DOM is written for the Berlin project. Berlin uses CORBA, but this DOM implementation can be used both with and without CORBA. The CORBA version is created for omniORB2.5 and has only been tested with omniORB. The implementation is only tested on Linux using EGCS1.0.2. However I believe that it contains no platformspecific code at all except for the CORBA stuff, so it should pretty much compile on anything.
This version implements most of the core DOM API according to the DOM specification from 1998-08-18. There are still a few mehtods missing and some components doesn't behave correctly yet. The document type components are not implemented yet. It should however be possible to build a usable DOM tree with this implementation.
In this release there are a lot of old obsolete files lying around in the code. It will all be cleaned up in a later version.
Note: only TextNode has been tested! Code contributions, bug-reports, small testprograms etc. are very welcome!
You can download the file berlinDOM980829.tar.gz here. To install it you unpack it and compile it. There's a README.txt file with some information in the directory /Berlin/src/DOMimpl/ to help you. You should pretty much ignore the information in all directories that does not have a name starting with DOM, since this is Berlin specific. Please note that the files /Berlin/Makefile and /Berlin/config/* are necessary to compile. Send me mail if you have any problems, questions or whatever.