RELAX NG Compact schemas for Ecma Office Open XML

by Rick Jelliffe

In talking with Jean Paoli of Microsoft a few months ago about ISO standardization, he asked what kinds of changes would be needed to make OOX acceptable to ISO members. Of course, I cannot speak on any of their behalf, they will get their own votes in due couse, but one of the things I mentioned was that I thought it would great if OOX came with ISO RELAX NG Compact Syntax schemas.

The normative schemas are the W3C XSD ones. The ISO RELAX NG Compact Syntax schemas are non-normative/informative: which means that you rely on the XSD and the normative text of the standard ahead of the RELAX NG schema, and that adoption of the RELAX NG schemas implies adopting the maintained living versions rather than just the pre-baked version of the paper standard: you cannot adopt a non-normative part of a standard as if it were normative of course, that would go against the spirit of the standard and be adopt the standard and then you use the RELAX NG version of the schemas (as maintained) .

SC34, the committee at ISO that handles ISO SGML (i.e. XML's base), ISO DSDL (e.g. RELAX NG, Schematron) is also the committee that looks after the ISO standards for ODF, OOX and HTML. (I don't think we do ISO PDF but I could be wrong.) I was involved a decade ago and again recently with ISO Schematron.

It is not just a matter of turf (SC34 does RELAX NG, therefore SC34 "products" should also use it) or a level playing field (ODF uses RELAX NG therefore OOX should use it.) The main reason for providing a RELAX NG schema is because it is easy to read and supports people who are integrating using the RELAX NG branch of technology. I don't believe Microsoft has any plans or much need to adopt RELAX NG itself (Schematron is a different matter, I am always hopeful !)

So Jean then batted the ball to my court: they would include RELAX NG compact schemas if someone (i.e. me) could provide them. My company, Topologi had been working on various XSD tools and RELAX NG tools, so we were well placed to use OOX as the test case for developing an XSD to RELAX NG translator (functionality which James Clark's Trang, for example, does not provide.)

I'll write a little blog about the translator next.


2006-10-09 22:15:48
I just saw Brian Jones's announcement of the final draft (thanks to your earlier note), and am downloading it as I type this. The informative annexes with Relax NG are definitely included and available for download in .zip files.
2006-10-15 06:45:33
Do you think that your company working on OOXML influences your work in the TC when advising on OOXML matters ?
I do not think it would matter much in this particular case as it seems likely the TC will give a positive advise anyways but it might be a bit awkward.
2006-10-15 21:11:51
I don't know that I have much influence on anyone. The Japanese, Koreans, Norwegians etc. do not respond well to my mind control techniques and frequently insist on making up their own minds.

It is a strange comment though...

First, ISO votes to accept international standards are by national bodies, not committees. I am not involved in my national body (Standards Australia) nowadays, so I have no direct influence on them (or indirect, I don't even know who the people are now!) Similarly, I am not a national representative to ISO SC34, so I don't have any vote at the committee level.

Second, my company did not work for Microsoft per se...MS bought a copy of our Schema Evaluation tool and we upgraded it to support XSD to RELAX NG; we had to add some special features to cope with the particular use case (such as preserving file boundaries) Anyone else can buy this tool (next public release later.) Promoting sales of my company's products is one reason why I am involved in ISO. Just the same as IBM, Microsoft, Ontopea and many others: there is simply no stigma in commercial interest. On the contrary, there is the presumption that the standards relate to the member's business and livelihood. (And there is transparency: there is no secrecy.) In any case there is no conflict of interest because ISO SC34 and WG1 are forums for different points of view to be discussed and proposed.

Third, I did the actual conversion of their schemas privately, not as Topologi, and unpaid, as a member of the ISO DSDL group (SC34 WG1) in order to promote DSDL. Similarly, Murata-san helped with an NVDL schema. I believe we would be just as happy to help out the ODF if they asked (but they already use RELAX NG!)

Fourth, I blogged maybe six months ago about the changes that I thought OOX would need to become acceptable for ISO: providing a RELAX NG schema and partitioning off Windows-specific features (into a different namespace in particular). Other members of SC34 WG1 also raised various issues: for example, the need for the OOX spec to conform to ISO writing rules so that normative and tutorial material are clearly separated. I know another member raised various issues concerning intellectual property. So I've said what I though MS needed to do, they have organized for it to be done, and it would be inconsistent for me to now make up some other requirements, as I am sure you agree.

Fifth, I think I have quite a good reputation for being independent, with OK technical knowledge, and I think I am OK at working through problems in committee work. Jon Bosak asked me join the ODF committee at OASIS when it was started, but I had no time then unfortunately. I used to work as an advocate for Chinese W3C issues a few years back, so I do enjoy being an advocate. If someone asked me, whether ODF or MS, to hire me to advocate for them at ISO, I certainly would consider it. But they haven't, so I have the luxury still of being able to say what I think, which is that ISO is not an anti-trust court.

Now I did criticize the ODF website comments on Open Standards recently, but long before that I ridiculed some MS views on standards (the Donut Line). I don't have the view that the opponents of MicroSoft are necessarily saints.

Sixth, I have a long-standing bias towards plurality. See for example. I even spoke (against MicroSoft's representative) at WWW7 on this issue. Having ODF plus OOXML provides a richer ecosystem than just having one of them. There are never enough standards!

Seventh, there is of course an influence on me, in that dealing with MS (or ODF) gives more chance to find out what their strategy, "message" and rationale is, and to get some feeling for how serious they are. A few more facts, rather than ignorance. Are you worried about Stockholm Syndrome? In the case of OOX, MS seems to be doing the right thing at the moment. Maybe MS will be like Sun and the aborted Ecma/ISO standardization of Java and pull out at the last moment: we shall see...I expect not. It is great that MS, IBM, Sun and other large vendors are participating in standards processes: of course they are doing it for their own interests; but ISO is not business-unfriendly.

So why would there be awkwardness? I am delighted that MS bought a Topologi product, I recommend you do too :-)

Rick Jelliffe
2006-10-15 21:23:26
KICKBACK UPDATE! I just accepted a free cup of coffee from a visiting MS guy who wanted to talk about schemas. Concerned readers will be happy to learn I declined the donut. Err, actually it would have been a Florentine biscuit. But I declined it because of my waist.