Re: [xml-dev] RelaxNG problem about section 7.4. Restrictions on interleave

From
James Clark <>
To
,
Date
2003-02-17T18:56:03Z
ID
<498736294.1045533363@[192.168.0.10]>
Thread
Re: [xml-dev] RelaxNG problem about section 7.4. Restrictions on interleave
> However, both the Relax NG tutorial and the test suite exhibit
> RelaxNG schemas like
> -----
>     <interleave>
>       <text/>
>       <optional>
> 	<element name="span">
> 	  <attribute name="class">
> 	    <value>givenName</value>
> 	  </attribute>
> 	  <text/>
> 	</element>
>       </optional>
>       <optional>
> 	<element name="span">
> 	  <attribute name="class">
> 	    <value>familyName</value>
> 	  </attribute>
> 	  <text/>
> 	</element>
>       </optional>
>     </interleave>
> -----

That's a bug. See

http://www.oasis-open.org/committees/relax-ng/errata/tutorial-errata.html

> and
> -----
> <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
>   <mixed>
>     <element name="bar">
>       <empty/>
>     </element>
>     <element name="bar">
>       <empty/>
>     </element>
>     <element name="bar">
>       <empty/>
>     </element>
>   </mixed>
> </element>
> -----

That's correct, because it's equivalent (per 4.12) to

<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
  <mixed>
    <group>
      <element name="bar">
        <empty/>
      </element>
      <element name="bar">
        <empty/>
      </element>
      <element name="bar">
        <empty/>
      </element>
    </group>
  </mixed>
</element>

James