Matt,
Good to hear from you.
A few points:
- generateDS.py generates Python classes, not Haskell data
structures. Would that be useful for your needs?
- You are correct. generateDS.py does not understand and cannot
handle RelaxNG.
- Have you looked at Trang? The description I read seems to say
that it can convert RelaxNG to Xml Schema. So, theoretically, you
could convert your RelaxNG specification to XML Schema, then feed
that to generateDS.py. Here is a short description of Trang:
XML schema converter
Trang converts between different schema languages for XML. It supports the
following languages:
* RELAX NG (XML syntax)
* RELAX NG compact syntax
* XML 1.0 DTDs
* W3C XML Schema
Homepage: https://github.com/relaxng/jing-trang
- I'm not aware that XML Schema is superior to RelaxNG either,
although the RelaxNG compact syntax does seem very appealing. XML
Schema is way too complicated.
If you try using Trang to convert RelaxNG to XML Schema (or if you
already have done this), could you please report back on it. I'd
like to be able to recommend it, *if* it works. It requires Java, but
I'm not a Java person and do not have Java installed on my machines.
Ooops. Wait a minute (or two). I did not realize this, but my
Raspberry Pi machines (running Linux Debian Jesse, I believe) have
Java and the JDK loaded on them my default. I'll give Trang a try.
...
OK. I cloned trang from https://github.com/relaxng/jing-trang.git,
and, then built it with:
$ git clone https://github.com/relaxng/jing-trang.git
$ cd jing-trang
# set JAVA_HOME to location of JDK
$ export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt
$ ./ant
Then ran it with:
$ cd jing-trang/build
$ java -jar trang.jar -I rng -O xsd test01.rng test01.xsd
which produced test01.xsd.
I was able to run the result (test01.xsd) through generateDS.py,
which produced a few warnings, but did produce Python bindings (a
Python module containing Python classes for the element types
defined in test01.rng (and test01.xsd).
As we say: for what it's worth. Maybe it's worth a note in the
generateDS.py documentation or a blog post. What do you think?
Hope this helps. Let me know if/when you have more questions.
Dave
On Thu, Apr 27, 2017 at 04:22:11PM +0000, Fernandez, Matthew wrote:
> Hello generateDS folk,
>
>
>
> I am trying to generate Haskell data structures from a RelaxNG
> specification. A promising jumping off point looked like generateDS, and I
> foolishly passed our RelaxNG spec to it before taking the time to read the
> docs and realize it is expecting XSD input. IIUC generateDS has no support
> for RelaxNG. Are there any plans to extend it in this direction in future?
> I am not an XML guru, so perhaps XSD is inherently superior to RelaxNG in
> some way of which I am not aware. Any feedback or helpful pointers would
> be appreciated. Thanks for your time.
>
>
>
> Matt
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> generateds-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/generateds-users
--
Dave Kuhlman
http://www.davekuhlman.org
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
generateds-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/generateds-users