Next in thread → Next in month →

Re: [xml-dev] RELAX NG equivalent of <xsd:any processContents="lax">?

From
Radu Cernuta <>
To
Jeff Lowery <>
Date
2007-02-07T20:02:22Z
ID
<>
Thread
Re: [xml-dev] RELAX NG equivalent of <xsd:any processContents="lax">?
I took a better look and you are right, you have also crossed rule 4.6. But if you try:

Test.rng:

<?xml version="1.0"?>
<grammar
 xmlns=" http://relaxng.org/ns/structure/1.0"
 ns=" http://foo.org/bar">

   <start>
       <ref name="children"></ref>
   </start>

   <define name="children">
       <zeroOrMore>
           <element>
               <anyName>
                   <except>
                       <nsName/>
                   </except>
               </anyName>
               <ref name="children"></ref>
           </element>
       </zeroOrMore>
       <optional>
           <ref name="interestingElements"></ref>
       </optional>
   </define>

   <define name="interestingElements">
       <choice>
           <externalRef href="anythingElseButTest.rng"/>
       </choice>
   </define>

</grammar>

You'll see there are more mistakes in the schema.


2007/2/7, Jeff Lowery <[email protected]>:

I'm sure you're correct, however the error I get from Jing is this:

 

C:\ > java -jar \xml\jing-20030619\bin\jing.jar test.rng

C:\ > Test.rng:28:43: error: recursive inclusion of URL "file:/C:/[…]/Test.rng"


I took a better look and you are right, you have also crossed rule 4.6. But if you try:

Test.rng:

<?xml version="1.0"?>
<grammar
 xmlns=" http://relaxng.org/ns/structure/1.0"
 ns="http://foo.org/bar">

   <start>
       <ref name="children"></ref>
   </start>

   <define name="children">
       <zeroOrMore>
           <element>
               <anyName>
                   <except>
                       <nsName/>
                   </except>
               </anyName>
               <ref name="children"></ref>
           </element>
       </zeroOrMore>
       <optional>
           <ref name="interestingElements"></ref>
       </optional>
   </define>

   <define name="interestingElements">
       <choice>
           <externalRef href="anythingElseButTest.rng"/>
       </choice>
   </define>

</grammar>

You'll see there are more mistakes in the schema.
 

I now wonder: if all patterns are defined inside a containing grammar, could one except the container from a contained definition?  That way, all definitions would be excluded automatically when new ones were added to the container. Something I'll try later…


I'm not sure I can follow.

Radu Cernuta


From: Radu Cernuta [mailto:[email protected]]
Sent: Wednesday, February 07, 2007 1:56 AM
To: Jeff Lowery
Cc: [email protected]; [email protected]
Subject: Re: [xml-dev] RELAX NG equivalent of <xsd:any processContents="lax">?

 

Sorry, I've overlooked the <optional> element. Rule 4.12 comes first in this case and adds a <group>, then 7.15. The basic idea stays the same: you cannot have several roots in an XML document.


Next in thread → Next in month →