Partial Relax NG Compact support for HXT

Samuel Bronson naesten at
Tue Jun 13 15:57:10 EDT 2006

Attached is partial support for Relax NG Compact for HXT. I haven't
been working on this much in the last week and a half or so, so I
thought I better send it before I forget about it entirely. (After
all, unlike many of my other projects, this one actually seems to do
most of what it is intended to do!)

Among other things, it is missing:

* Include support (couldn't figure out how to get this to work without
changing the simplifier, which I am not comfortable doing without a

* Full annotation support -- I got frustrated with qualified names...
I should really rework that part.

* Nice code: the code is very ugly, especially that which relates to names

It is not very tested, partly because HXT's RelaxNG validator doesn't
seem to support the XML Schema Datatypes, which are very important to
Relax NG Compact. (They have their own default namespace prefix xsd.)

I might have done a better job if I'd looked at the section of the
happy manual that relates to monadic parsers before going very far,
but oh well...

Comments are welcome and I'd really like to see someone try to do
better -- which shouldn't be too hard.

The formal grammar at the end of the spec actually looks an awful lot
like a computer program... unfortunatey, it uses a slightly different
flavour of XML library :-(.

Another neat thing that uses Relax NG Compact is James Clark's
nxml-mode and rng-validate-mode for emacs, which validates your XML as
you write it, tells you what is missing as well as what you can
insert. All in Emacs Lisp.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HXT-RelaxNG-Compact.tar.gz
Type: application/x-gzip
Size: 27343 bytes
Desc: not available
Url :

More information about the Libraries mailing list