From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA23650; Sun, 29 Feb 2004 18:53:52 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA21155 for ; Sun, 29 Feb 2004 18:53:51 +0100 (MET) Received: from pob.cs.unibo.it (pob.cs.unibo.it [130.136.10.114]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i1THrnae028597 for ; Sun, 29 Feb 2004 18:53:50 +0100 Received: from le1.cs.unibo.it (backle.cs.unibo.it [130.136.10.110]) by pob.cs.unibo.it (Postfix) with ESMTP id 90FFF2ABA1 for ; Sun, 29 Feb 2004 18:53:49 +0100 (CET) Received: from localhost.cs.unibo.it (liu.cs.unibo.it [130.136.7.125]) by le1.cs.unibo.it (8.9.3p2/8.9.3/Debian 8.9.3-21) with ESMTP id SAA07576 for ; Sun, 29 Feb 2004 18:53:49 +0100 X-Authentication-Warning: le1.cs.unibo.it: Host liu.cs.unibo.it [130.136.7.125] claimed to be localhost.cs.unibo.it Received: by localhost.cs.unibo.it (Postfix, from userid 2662) id E2AFA2ACD5; Sun, 29 Feb 2004 18:53:48 +0100 (CET) Date: Sun, 29 Feb 2004 18:53:48 +0100 From: Claudio Sacerdoti Coen To: caml-list@inria.fr Subject: Re: [Caml-list] Looking for OCaml code to load & save XML files Message-ID: <20040229175348.GA32661@cs.unibo.it> References: <87y8qnnwsm.fsf@linux-france.org> <008301c3fe0f$0b410180$ef01a8c0@warp> <4040B5DA.9090108@socialtools.net> <20040228185048.GA14358@fistandantilus.takhisis.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040228185048.GA14358@fistandantilus.takhisis.org> User-Agent: Mutt/1.3.28i X-Operating-System: Debian GNU/Linux X-Organization: Department of computer science, University of Bologna, Eurpean Union X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; sacerdoti:01 coen:01 sacerdot:01 caml-list:01 pxp:01 schema:01 gmetadom:01 gmetadom:01 sourceforge:01 gdome:01 implemented:01 schema:01 api:01 gdome:01 api:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > > PXP doens't support schema either, but GMetaDOM (a wrapper around the > > GNOME XML libraries) seems to: > > http://gmetadom.sourceforge.net/ > > 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). Cheers, C.S.C. -- ---------------------------------------------------------------- Real name: Claudio Sacerdoti Coen PhD Student in Computer Science at University of Bologna E-mail: sacerdot@cs.unibo.it http://www.cs.unibo.it/~sacerdot ---------------------------------------------------------------- ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners