[
Lists Home |
Date Index |
Thread Index
]
Tim Bray wrote:
> I'm writing a schema for something that will serve as a container,
I guess this is fecho*.
> I'm fiddling with name classes and "-" and having trouble getting it to
> do what I want. There's an example in section 11 of the RNC tutorial
> that kind of does this with attributes. Anyone done this?
This goes some of the way:
<?xml version="1.0"?>
<grammar
xmlns="http://relaxng.org/ns/structure/1.0"
>
<start>
<ref name="anyWithNS"/>
</start>
<define name="anyWithNS">
<element name="grammar" ns="http://www.example.com">
<zeroOrMore>
<attribute>
<anyName>
</anyName>
</attribute>
</zeroOrMore>
<zeroOrMore>
<choice>
<text/>
<ref name="inverseNS" />
</choice>
</zeroOrMore>
</element>
</define>
<define name="inverseNS">
<element>
<anyName >
<except>
<nsName ns="http://www.example.com" />
</except>
</anyName >
<zeroOrMore>
<attribute>
<anyName>
<except>
<nsName ns="" />
<nsName ns="http://www.example.com" />
</except>
</anyName>
</attribute>
</zeroOrMore>
<zeroOrMore>
<choice>
<text/>
<ref name="inverseNS" />
</choice>
</zeroOrMore>
</element>
</define>
</grammar>
it will allow child elements to be in no namespace, I'm not sure you
can spec the rejection of non-namepaced elements with rng; anyway it
seems a daft enough constraint. You can use trang to blow out the rnc.
Bill de hÓra
--
Technical Architect
Propylon
http://www.propylon.com
* Surely Father Ted fans would like this name
|