[
Lists Home |
Date Index |
Thread Index
]
Bob Foster wrote:
> 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.
Also, RELAX NG lacks the precise occurrence restraints of XML Schema that
is, no minOccurs/maxOccurs. RNG supports only the common RE or DTD
constraints ? * + as <optional>, <zeroOrMore>, and <oneOrMore>.
> > 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.
Here is a start at a stylesheet that produces XHTML from <a:documentation>
elements embedded in a RELAX NG grammar. <a:documentation> is defined in
RELAX NG's DTD compatibility spec (see
http://relaxng.org/compatibility-20011203.html). The stylesheet is stored at
http://www.wyeast.net/doc.zip; this zip contains a stylesheet (doc.xsl) and
a brief example (e.rng).
You can embed an foreign elements or attributes in a RELAX NG schema. A
RELAX NG processor strips foreign namespaced markup from a RELAX NG schema
before it does anything else. It is the first step of simplification (see
http://relaxng.org/spec-20011203.html#simplification).
Mike
|