OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] A RELAX NG question

[ Lists Home | Date Index | Thread Index ]

This thread has moved to the new relaxng-user list.

John Cowan <cowan@mercury.ccil.org> writes:

> K. Ari Krupnikov scripsit:
> 
> > 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.
> 
> Do you have them separated out merely for ease of maintenance, or do
> you anticipate using different contents for the individual files?

Yes.

I tangle my RNGs from other markup, if you are curious, take a look at
http://cvs.sourceforge.net/viewcvs.py/stng/STnG/literate/

> > Question 1: is this a good way of
> > doing things in RELAX NG, or should I consider a better alternative?
> 
> The obvious alternative would be to avoid the machinery of "define"
> combination, and simply use externalRef to bring in the element patterns
> directly.  This is somewhat more streamlined.

Won't work, I don't think. Any of the elements' CM may need to say
"any element of class foo here," without enumerating members of the
foo class by name or filename -- it can't because it doesn't know
about them. It knows about classes because they are enumerated in the
master file.

> > 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).
> 
> I don't see that it's any better or worse to have to ref common
> subpatterns than to have to specify a common base type.

I want to specify both in one declaration. It's not an accidental
coincidence that all members of a class have common attributes, it's
part of the meaning of being a part of that class. I was wondering if
there was a way to capture that in RELAX NG.

Ari.




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS