[relaxng-user] A question on content models

K. Ari Krupnikov ari at lib.aero
Wed Sep 24 06:48:33 ICT 2003


::Migrated from xml-dev::

I have a master RNG file that describes general properties of my
grammar, and individual RNG files that describe individual
elements. The master file <include>s the individual ones.

The master file has declarations like

  <define name="class.filter">
    <notAllowed/>
  </define>

Individual files usually say something like

  <define combine="choice" name="class.reader">
    <element name="switch">
      <!-- CM -->
    </element>
  </define>

I use this as a kind of type system. Individual content models may
contain

  <zeroOrMore>
    <ref name="class.filter"/>
  </zeroOrMore>


Question 1: is this a good way of
doing things in RELAX NG, or should I consider a better alternative?

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).


Ari.


More information about the relaxng-user mailing list