W3C home > Mailing lists > Public > www-dom@w3.org > January to March 1999

Announcement: 4DOM 0.7.0

From: <uche.ogbuji@fourthought.com>
Date: Tue, 09 Feb 1999 20:27:44 -0700
Message-Id: <199902100327.UAA05519@malatesta.local>
To: www-dom@w3.org
FourThought LLC (http://FourThought.com) announces the release of

                             4DOM 0.7.0
                      -----------------------
              A CORBA-aware implementation of the W3C's
		       Document Object Model
                            in Python

4DOM is a close implementation of the DOM recommendation, including
DOM Core level 1, DOM HTML level 1, Node Iterator and Node Filter from
DOM Level 2, and a few utility and helper components.  4DOM was
designed from the start to work in a CORBA environment, although
an orb is no longer required.  For using 4DOM in an ORB environment,
Fnorb and ILU are supported.

4DOM is designed to allow developers rapidly design applications
that read, write or manipulate HTML and XML.

New in 4DOM 0.7.0
-----------------

- Added support for "orbless" configuration.  Now neither ILU nor Fnorb
are requred and 4DOM can be run purely locally, but still with a consist
ent interface.  Naturally, the orbless config is much faster than the
ilu or fnorb configs.

- Many fixes to improve consistency over an ORB interface (an example
using an ORB has been added to demos).

- Fixes to NodeList and NamedNodeMap

- Added an Ext package for DOM extensions, and moved many of the
  existing extensions there.  See docs/Extensions.html.

- Added to Ext an extensive factory interface for creation of nodes,
consistent for local and ORB use.

- Added to Ext a ReleaseNode helper function to reclaim unused nodes,
necessary for ORB usage, and also for local usage because of circular
references.

- Added NodeIterators and Node Filters from DOM Level 2

- Added a visitor and walker system (to Ext).  These generalize the
NodeIterator concept for cases where pre-order traversal is not
suitable: for instance printing.

- Removed the repr functions from Node interfaces in favor of print
walker/visitors.

- Added Print and PrettyPrint helper functions to Ext for printing
and pretty-printing node trees.

- Added Strip helper function to Ext to strip all ignorable white-space
text nodes from a node tree.

- Moved all tools to construct a DOM tree from XML and HTML text to a
Builder module in Ext, with two functions: FromXML and FromHTML.

- Added options to FromXML that allow specification of whether to keep
ignorable whitespce int he resultant node tree, and options on whether to
 validate.

- Innumerable minor and miscellaneous fixes
 

But what about PyDOM?
---------------------

Please note that the XML-SIG is working on a separate DOM
implementation, and there is currently discussion regarding the
relative roles of 4DOM and PyDOM.  PyDOM follows a more Python-like 
interface, returning a dictionary of nodes, for instance, where the
DOM spec specifies an object with  NamedNodeMap interface.  This was
a deliberate choice for the convenience of Python programmers.  
Also, PyDOM can build and write HTML, but only supports HTML nodes
through the DOM core interface.  4DOM strictly follows the DOM
interface specs and supports all HTML element capabilities.   However,  
4DOM is a bit more heavyweight.

More info and Obtaining 4DOM
----------------------------

Please see

	http://OpenTechnology.org/projects/4DOM


4DOM is distributed under the terms of the GNU Library Public
License (LGPL).

	http://www.gnu.org/copyleft/lgpl.html


-- 
Uche Ogbuji
uche.ogbuji@fourthought.com
Consulting Member, FourThought LLC
http://FourThought.com          http://OpenTechnology.org
Received on Tuesday, 9 February 1999 22:25:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:13:46 GMT