Re: C implementation of DOM



On Mon, Apr 01, 2002 at 01:30:33PM +0100, Michael Meeks wrote:
> Hi Jason,
> 
> On Mon, 2002-04-01 at 01:24, Jason White wrote:
> > At the CSUN Linux access session, it was indicated that one obstacle
> > preventing Gnopernicus and similar applications from taking advantage
> > of the semantics offered by the W3C Document Object Model, was the
> > lack of a C-based API for the DOM.

  Who said that ? I *seriously* hope it's not someone speaking with any
kind of authority. DOM is defined as an IDL, and of course one can
generate C bindings from that IDL.

> 	Is that so ?

  Of course not, it serious bullshit, sorry !
  Sounds someone did not do its homework.
    http://xmlsoft.org/
    Main page of the Gnome XML Library has the following link
    "the gdome2 page  : a standard DOM2 implementation for libxml2"
    http://phd.cs.unibo.it/gdome2/

 Written in C, based on libxml2 and sharing its tree model, it implements
Core, XML, Events and MutationEvents parts of DOM2, and there is some
support ongoing for the DOM3 XPath mapping Working Draft.
 I will note that Gtkhtml2 which the HTML renderer from Gnome2 based on
libxml2 has a DOM implementation too, it is used in yelp our Gnome2
help browser.

> > I was reminded of this issue upon
> > reading a freshmeat.net announcement of an implementation of the DOM
> > in C: http://users.erols.com/mballen/domc/
> >
> > This claims to implement DOM levels 1 and 2 core, as well as DOM level
> > 2 events.

  But is not based on libxml2 so won't integrate well with other parts
of the GNOME framework. It rebuilds it own model from expat SAX interface
which has significant side effects since expat does not expose all the
informations from the parsed document:
  "This implementation is not W3C compliant because it lacks support
   for entity references, DOCTYPE nodes, DTD default values, and other
   peripheral functionality."
I would worry about the compliance of this piece of software.

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]