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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A non-XML syntax for RELAX NG



James Clark wrote:

> I've developed an experimental non-XML syntax for RELAX NG.  See
> 
>  http://www.thaiopensource.com/relaxng/nonxml/
> 


This is nice! However, I'd like to propose some changes. I think the often used keywords attribute
and element give too little visual guidance. Instead I propose the following syntax which
is even less verbose but still more readable in my opinion:

Use "<" nameClass ">" instead of  "element" nameClass
Use "@" nameClass instead of "attribute" nameClass

Some converted examples from your example schema:

pattern =
  <element> { (nameQName | nameClass), (common & pattern+) }
  | <attribute> { (nameQName | nameClass), (common & pattern?) }
  | <group|interleave|choice|optional |zeroOrMore|oneOrMore|list|mixed>
       { common & pattern+ }
  | <ref|parentRef> { nameNCName, common }

 ...

nameQName = @name { xsd:QName }
nameNCName = @name { xsd:NCName }

...

foreignElement = <* - rng:*> { (anyAttribute | text | anyElement)* }
foreignAttribute = @ * - (rng:*|local:*) { text }
anyElement = <*> { (anyAttribute | text | anyElement)* }
anyAttribute = @* { text }


Cheers,

</David>

David Rosenborg
Pantor Engineering AB