- From: Daniel Veillard <Daniel.Veillard@w3.org>
- Date: Sat, 26 Aug 2000 00:46:31 +0200
- To: Michael Champion <mike.champion@softwareag-usa.com>
- Cc: Daniel.Veillard@w3.org, www-dom@w3.org, michael.goulish@softwareag-usa.com, eric.bratton@softwareag-usa.com
On Fri, Aug 25, 2000 at 02:13:18PM -0400, Michael Champion wrote: > At 07:53 PM 8/25/00 +0200, Daniel Veillard wrote: > >On Fri, Aug 25, 2000 at 10:45:36AM -0400, Michael Champion wrote: > > > Getting to my main point ... I'm wondering about C language bindings for > > > the DOM. I know that Oracle has published one ... and the XML C > > Library for > > > Gnome is DOM-like, but not really an attempt to be a complete, > > > vendor-neutral C DOM binding as far as I can tell. > > > > Maybe i should report a bit on this. At least for archival/historical > >purposes. > > Thanks! That helps me understand the libxml effort. A couple of > questions. You cited > http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=gdome > as "A new DOM module", but all I see is a CVS archive. Well right, this is mostly code ... the latest version is now in the gdome2 module actually. > Is there some > document that could be pulled out at posted for non-Gnome people to help us > understand what is in there? Hum, the "official page" is at http://www.levien.com/gnome/gdome.html but it's nearly content less. I'm afraid people did concentrate on getting the code done and not much on writing documentation. That's one of the good points of real standards which is that one can point to the reference source and annexes ! You can look at the README but it ain't much. > Also, what's your feelings about the possibility for the libxml DOM to > become the de-facto standard C binding for the DOM? Or is this a hopeless > idea? Well I went back to the code and it seems I mispoke. They are again running the interface generator from the IDL compiler and using the CORBA binding conventions :-). The header files and the names are autogenerated, however the prefix is not DOM but Gdome, so I doubt it would be a good idea: -------------- excerpt from gdome/test/test-gdome.c ----------- void print_gdoc_structure (GdomeNode *node) { GdomeNode *child, *next; GdomeDOMString *tagName; GdomeException exc = 0; type = gdome_n_nodeType (node, &exc); if (type == GDOME_TEXT_NODE) { GdomeDOMString *text; text = gdome_cd_data ((GdomeCharacterData *)node, &exc); [...] listener = gdome_xml_evntl_new (GDOME_EVNTL_CALLBACK (insert_cb), NULL); gdome_evntt_addEventListener (GDOME_EVNTT (el), gdome_test_str_mk ("nodeInsertedIntoSubtree"), listener, 0, &exc); empty = gdome_doc_createElement (gdoc, gdome_test_str_mk ("empty"), &exc); ---------------------------------------------------------------- etc ... there is also some extensions like gdome_xml_from_document( doc ) to read/save through libxml interfaces and "sliding DOM' a modified version of the API functions to avoid the accumulation of proxy objects on the client side. Daniel -- Daniel.Veillard@w3.org | W3C, INRIA Rhone-Alpes | Today's Bookmarks : Tel : +33 476 615 257 | 655, avenue de l'Europe | Linux XML libxml WWW Fax : +33 476 615 207 | 38330 Montbonnot FRANCE | Gnome rpm2html rpmfind http://www.w3.org/People/all#veillard%40w3.org | RPM badminton Kaffe
Received on Friday, 25 August 2000 18:46:36 UTC