Re: [xml-dev] RELAX NG equivalent of <xsd:any processContents="lax">?
Test.rng:
<?xml version="1.0"?>
<grammar
xmlns=" http://relaxng.org/ns/structure/1.0"
<define name="children">
<zeroOrMore>
<element>
<anyName>
<except>
</except>
</anyName>
<ref name="children"></ref>
</element>
<optional>
<ref name="interestingElements"></ref>
</optional>
</define>
<define name="interestingElements">
<choice>
</choice>
</define>
</grammar>
You'll see there are more mistakes in the schema.
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"
<define name="children">
<zeroOrMore>
<element>
<anyName>
<except>
</except>
</anyName>
<ref name="children"></ref>
</element>
<optional>
<ref name="interestingElements"></ref>
</optional>
</define>
<define name="interestingElements">
<choice>
</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.