Lists Home |
Date Index |
Mike Champion scripsit:
> Concrete suggestions for how the DOM AS module could be cleaned up to
> better support RELAX NG would be much appreciated ... that is a use
> case for AS, as far as some are concerned anyway.
Here are the points I've identified, which may not be complete.
1) There is no way to represent wildcard elements and attributes.
These exist in XSD too, but I don't know the details. There are
two types of wildcard names in RNG: "any namespace, any name"
and "specified namespace, any name". These could be encoded
2) In RNG you can have choices between child elements and
attributes. For example, you can have a content model allowing
a "foo" child or a "foo" attribute, but not both. This could
be modeled in AS as a choice between two cases, one with an
optional "foo" child and no "foo" attribute, the other with a
optional "foo" attribute but no "foo" child.
However, if there are several such cases in the content model,
it leads to an exponential explosion. If you can have a child
"a" xor an attribute "a", *and* a child "b" or an attribute "b",
there are now 4 cases. If we extend it to "z" we have 2^26
cases. Very bad.
3) Interleave needs to be added to the list "choice, seq, all".
4) The whole idea of top-level element declarations doesn't
make much sense in RNG, since there is no distinction between
global and local declarations. It's not clear which declaraitons
should be directly accessible from the ASMOdel and which not.
It's not clear whether ASModel editing edits the ASModel considered
as a concrete model, or whether it edits the underlying schema.
If the latter, I don't have a clue how this could be adapted to
RNG, as lots and lots of details would be missing.
John Cowan <email@example.com> http://www.reutershealth.com
I amar prestar aen, han mathon ne nen, http://www.ccil.org/~cowan
han mathon ne chae, a han noston ne 'wilith. --Galadriel, _LOTR:FOTR_