[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] RELAX NG equivalent of <xsd:any processContents="lax">?
- From: "Radu Cernuta" <radu.cernuta@gmail.com>
- To: "Jeff Lowery" <jlowery@myrio.com>
- Date: Wed, 7 Feb 2007 10:56:23 +0100
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.
2007/2/7, Radu Cernuta <radu.cernuta@gmail.com>:
It's not about recursion. This won't work because the reference you make in the <start> element is resolved to zeroOrMore elements and a document cannot have several roots.
See RELAX NG specification:
Simplification, section 4.15 zeroOrMore element
http://relaxng.org/spec-20011203.html#IDAGHZR
Restrictions, section 7.15 start element
http://relaxng.org/spec-20011203.html#context-start
2007/2/7, Jeff Lowery <
jlowery@myrio.com>:
Thanks for your help. I'm thankful for what functionality there is in
RELAX NG, trust me.
Just for kicks I tried self-referencing back to the schema, but
recursion is not allowed (ah well).
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=""Test.rng"/>
</choice>
</define>
</grammar>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]