[Home] [By Thread] [By Date] [Recent Entries]

  • To: xml-dev@l...
  • Subject: A RELAX NG question
  • From: ari@c... (K. Ari Krupnikov)
  • Date: 23 Sep 2003 16:09:38 -0700
  • Sender: ari@l...
  • User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

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.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member