[
Lists Home |
Date Index |
Thread Index
]
From: "florian" <csshsh@structbench.com>
> why to people like relax ng so much though? what is better
> about it than xml schema?
Here is a personal incomplete list. RELAX NG...
- Has a concise, unambiguous formal specification, so the only errors in
conforming parsers (and there have been darned few) are bugs, not confusion
over what the spec means.
- Treats elements, attributes and values in a uniform way, so you don't have
to learn (and parsers don't have to implement) a long list of special cases.
- Reinstates the interleave operator for unordered items (not quite the same
as SGML interleave, but as useful).
- Largely removes the pesky ambiguity restrictions of XML 1.0 and XML
Schema.
- Permits the use of XML Schema simple datatypes and allows use of other
type systems, as well.
- Has a fine set of free, open source tools (by James Clark and Kohsuke
Kawaguchi) for validation and translation to and from DTD, XML Schema and
RELAX NG.
- Has an alternative non-XML syntax that is concise, pleasant to read and
write and can be easily translated to XML syntax when the need arises.
There is also a list of baggage RELAX NG leaves out and doesn't need,
detailed in http://www.thaiopensource.com/relaxng/design.html.
The only thing I am aware of that XML Schema provides that RELAX NG (with
the DTD extension) does not are identity constraints (unique/key/keyset).
But these (and much more) can be easily done using Schematron in concert
with RELAX NG.
> is there a way to create an end-user documentation
> out of a relax ng schema? (maybe via xslt)
The answer is yes, via XSLT. I don't have a stylesheet handy, but someone
probably does. The question is, what format do you want to see? The ones I
have seen generate the web equivalent of reams of paper. But I don't doubt
that any format that can be generated from XML Schema can be generated from
RELAX NG.
Bob Foster
>
> ciao!
> florian
|