Partial Relax NG Compact support for HXT

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 repository) * 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.
participants (1)
-
Samuel Bronson