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


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


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