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
Serialisation of PXP DTDs
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-10-22 (23:05)
From: Sylvain Le Gall <sylvain@l...>
Subject: Re: Serialisation of PXP DTDs
On 22-10-2008, Dario Teixeira <> wrote:
> Hi,
> I am using PXP to parse the MathML2 DTD.  This is a fairly large DTD,
> which even on a fast machine takes several seconds to parse.  I am
> therefore looking at ways to serialise a parsed DTD, in a such a way
> that it can be reused by other processes.
> Does PXP already offer primitives for (un)serialising DTDs?  (I couldn't
> find any).  Note that using Marshal is out of the question, because DTDs
> are stored as objects, and we all know that objects cannot be serialised
> across process boundaries.  But are there alternative solutions I'm
> overlooking?
> On a more general but related note, I think we should start an OSP
> discussion about standardising serialisation methods.  The rationale
> should be obvious.  Myself, I am partial to Sexplib, since it is
> reasonably fast, very simple to use, human-readable, and future-proof.
> I reckon that bin-prot could also be considered, as long as at some
> point the binary format is "set in stone", or at least deserialisers
> are always backwards compatible.  Any other opinions?

You seem to have already some ideas. The best, before doing any
discussion on this topic is to try to implement/benchmark the different
solution (at least doing something partial).

Sexplib/bin-prot/json/marshal need to be compared on a real example. 

You seems to need this for a particular task. Could you try to implement
on your particular example the different approach and give us some
benchmark/ease of use/ease of implement level ?

Without this number, I think an OSP discussion is pointless.

(but with this number at least on a small example, if your use case is
not easy, I think an OSP discussion will be very interesting).

Sylvain Le Gall