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] RelaxNG question

[ Lists Home | Date Index | Thread Index ]

Bill de hÓra wrote:
. Full structures with all the other attribute
> stuff attached.

Bah, typos in the last, sorry. Anyway this seems to work:

   namespace local = ""
   default namespace ns1 = "http://www.example.com";

   start = anyWithNS
   anyWithNS =
     element grammar {
       attribute * { text }*,
       (text | HasNS)*
     }
   HasNS =
     element * - (local:* | ns1:*) {
       attribute * - (local:* | ns1:*) { text }*,
       (text | HasNS)*
    }

or,

   <?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="HasNS" />
            </choice>
          </zeroOrMore>
       </element>
     </define>
     <define name="HasNS">
       <element>
         <anyName >
           <except>
             <nsName ns=""/>
               <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="HasNS" />
           </choice>
          </zeroOrMore>
       </element>
     </define>
   </grammar>

Bill de hÓra

-- 
Technical Architect
Propylon
http://www.propylon.com





 

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

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