Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Looking for OCaml code to load & save XML files
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-02-29 (17:53)
From: Claudio Sacerdoti Coen <sacerdot@c...>
Subject: Re: [Caml-list] Looking for OCaml code to load & save XML files
> > PXP doens't support schema either, but GMetaDOM (a wrapper around the 
> > GNOME XML libraries) seems to:
> >
> No it doesn't.

 It doesn't, but it easily could. Indeed GDOMe2 is implemented on top
 of libxml that performs Schema validation. Thus enabling Schema validation
 can be done quite easily. The real problem is that DOM Level 2 has no
 API for Schema validation. Thus the "extra parameters" should be
 considered an hack (and thus put in the Gdome.domImpl class).

 GMetaDOM is not 100% full ocaml. But it is 100% DOM compliant (since it
 is automatically generated from the DOM reccomendation). This can be
 either a good feature (e.g. if you are porting code from another language)
 or a bad feature (since the DOM API forces an imperative coding style).
 Finally, GMetaDOM is the only solution available if you want to use
 bindings to external C libraries whose input or output are Gnome DOM
 documents (e.g. some Gtk2 widgets as GtkMathView).

 XMLLight is 100% full ocaml, but it is not even 100% compliant to the
 XML Reccomendation. Thus I do not reccomend it: either you can parse
 any XML file or you cannot (and sooner or later something will bite you).

 PXP is 100% full ocaml and 100% XML compliant (but it does not implement
 the DOM interface nor XML Schema). It is is probably the best solution
 if you are not obliged to use GMetaDOM (because of the standard imperative
 API or the need of using other bindings).


Real name: Claudio Sacerdoti Coen
PhD Student in Computer Science at University of Bologna

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: