[relaxng-user] A question on content models
K. Ari Krupnikov
ari at lib.aero
Wed Sep 24 07:33:19 ICT 2003
James Clark <jjc at jclark.com> writes:
> > Question 1: is this a good way of
> > doing things in RELAX NG, or should I consider a better alternative?
>
> It seems good to me. The only disadvantage is that it may make your
> schemas harder to understand. You have to weigh that against the
> better modularity it gives you.
What other (easier to understand, less modular) alternative are you
referring to?
As far as ease of understanding goes, I tangle the individual RNGs
from ``semi-literate'' markup, where the individual elements are
documented. It seemed easier to create one RNG per literate document
than put them all in one RNG.
> > Question 2: I need to add declarations that would be common to all
> > members of a particular class. An obvious way is to have every element
> > <ref> the common declarations (a group of attributes in this
> > case). Can I do it in one place? DTDs don't provide such a mechanism,
> > XSD does (thought inheritance).
>
> Even with inheritance in XSD, you have do do something on every
> element (namely declare it to have an appropriate type). You can do
> this in RELAX NG by
>
> - having a definition for each type
>
> - having each type reference the definition of its base type
>
> - having the pattern for each element of that type reference the
> definition for its type (the ref to this definition is serving the
> same role as the type attribute in XSD)
How would you then say "any element of this type allowed here"?
Ari.
More information about the relaxng-user
mailing list