W3C home > Mailing lists > Public > www-math@w3.org > July 2010

Re: What tools do you use for working with rnc?

From: David Carlisle <davidc@nag.co.uk>
Date: Tue, 06 Jul 2010 15:09:54 +0100
Message-ID: <4C333932.3090906@nag.co.uk>
To: Roger Martin <mathmldashx@yahoo.com>
Cc: www-math@w3.org
On 05/07/2010 18:00, Roger Martin wrote:
> Hi,
> I'm experimenting with mathml3 schema binding as it was generated from
> rnc. To communicate on mathml I guess I should write in terms of rnc?

The rnc file is (mostly) generated by XSLT from the tables in the 
working draft of the MathML3 specifcation, so while it's good to refer 
to secific parts of the rnc schema if there are problems with the schema 
itself, if you want to talk in general terms about properties of the 
MathML elements just referring to sections in the spec is just as good 
and probably better than referring to the schema.

> What tools do you use to write the mathml3 rnc files

Parts are written by hand but the majority is extracted by XSLT from the 
xml source of the working draft, as noted above.

 > and validate them?
 > I've been using googlecode jing for some validation.

The RelaxNG tools I use most are jing (a bit), rnv (my usual tool for 
validating xml files against the schema from a commandline) and emacs 
nxml-mode (It's hard to imagine a life without nxml-mode).

> If I want to propose extra operators, are rnc file diff's and patches a
> good way to specify them?

As noted above, the spec may be a better thing to refer to than the 
schema. Also note that at this stage in the MathML3 specification 
procedure we are very constrained in the changes that we can make, 
fixing typos etc, but the idea is to show that the features specified 
are implementable so that we can (very soon) progress to proposed 
recommendation and recommendation stage. Clearly if additions are made 
at this stage they are likely to invalidate implementations.

That said, please do make suggestions, even if they are too late for 
MathML3 they can form part of the requirements for v4 (or we can suggest 
ways of achieving the requirements using existing elements)

> Jaxb binding (https://jaxb.dev.java.net/) of mathml3.xsd produces
> bindings where the calling code needs to complete constraints or loop
> and check inefficiently. I'm testing what could make this better yet
> need to become more familiar with rnc.

Unlike the specification and the RelaxNG, the XSD schema is something we 
can probably change at this stage if there is good implementation reason 
to do so. It is generated by using some XSLT to simplify the RelaxNG 
schema to the point that trang can convert the simplified rng to xsd. 
If the resulting XSD could be improved to work better with
XSD based data binding tools this would be good to know, and is 
something we could try to fix.

Hope this helps,

thanks for the comments,


The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
Received on Tuesday, 6 July 2010 14:10:27 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 6 July 2010 14:10:27 GMT