caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Dario Teixeira <darioteixeira@yahoo.com>
To: caml-list@yquem.inria.fr
Subject: XML library for validating MathML
Date: Wed, 17 Sep 2008 11:58:05 -0700 (PDT)	[thread overview]
Message-ID: <103293.54569.qm@web54606.mail.re2.yahoo.com> (raw)

Hi,

Given a string containing a mathematical expression in the MathML
markup, I need to verify that the expression is indeed valid MathML.
I am therefore looking for an XML library that can verify an expression
against a given DTD.

Now, I have tried Xml-light, and the code I used is listed below.
Unfortunately, it fails when trying to parse MathML's DTD (it's the
standard DTD from the W3C).  I have tried simpler DTDs, and it does work
with them; am I therefore correct in assuming that Xml-light can only
handle a particular version/subset of DTD features?

let () =
        try
                let x = Xml.parse_file "file.xml" in
                let dtd = Dtd.parse_file "mathml.dtd" in
                let checked = Dtd.check dtd in
                let proven = Dtd.prove checked "math" x in
                print_endline (Xml.to_string proven)
        with
                Dtd.Parse_error exc -> print_endline (Dtd.parse_error exc)


There are of course other XML libraries for Ocaml and let's not forget Cduce.
Can someone recommend one solution that is guaranteed to work with the
MathML DTD?  Note that I don't need to do much with the XML tree; pretty
much all I need is a boilerplate function that returns a boolean on whether
a string is valid or not.

Thanks in advance for your input!
Best regards,
Dario Teixeira






             reply	other threads:[~2008-09-17 18:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-17 18:58 Dario Teixeira [this message]
2008-09-17 22:13 ` [Caml-list] " Richard Jones
2008-09-18  2:58   ` Matt Gushee
2008-09-18  8:06     ` Re : " Adrien
2008-09-18  8:38 ` Vincent Hanquez
2008-09-18  9:12   ` Till Varoquaux
2008-09-18  9:44     ` Vincent Hanquez
2008-09-18 11:52     ` Gerd Stolpmann
2008-09-18 13:35       ` Markus Mottl
2008-09-19 11:30       ` Matt Gushee
2008-09-18 14:26 ` Dario Teixeira
2008-09-18 17:58   ` Dario Teixeira
2008-09-18 18:28     ` Gerd Stolpmann
2008-09-18 20:44       ` Dario Teixeira
2008-09-18 20:48         ` Gerd Stolpmann
2008-09-19 13:23         ` Stefano Zacchiroli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=103293.54569.qm@web54606.mail.re2.yahoo.com \
    --to=darioteixeira@yahoo.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).