W3C home > Mailing lists > Public > xmlschema-dev@w3.org > October 2004

Re: [xml-dev] New release (2.8) of XSV

From: Daniel Veillard <daniel@veillard.com>
Date: Mon, 11 Oct 2004 17:17:32 +0200
To: "Henry S. Thompson" <ht@inf.ed.ac.uk>
Cc: daniel@veillard.com, Jeff Rafter <lists@jeffrafter.com>, xmlschema-dev@w3.org, xml-dev@lists.xml.org
Message-ID: <20041011151732.GA16547@daniel.veillard.com>

On Mon, Oct 11, 2004 at 02:56:55PM +0100, Henry S. Thompson wrote:
> Right, that works fine for exponents on individual elements, but I
> don't see how it works for groups.
> Here's a real example from a published schema document [1]:
> <xsd:sequence minOccurs="0" maxOccurs="1000">
>     <xsd:element ref="ReferenceIdentification" minOccurs="0"/>
>     <xsd:element ref="Message" minOccurs="0" maxOccurs="1000"/>
> </xsd:sequence>
> Or consider a (constructed) case that's tricky in a different way:
> <xsd:sequence minOccurs="2" maxOccurs="2">
>     <xsd:element ref="a" minOccurs="1" maxOccurs="2"/>
>     <xsd:element ref="b" minOccurs="0"/>
> </xsd:sequence>
> which allows _inter alia_
>  <a/><a/>
>  <a/><a/><a/>
>  <a/><a/><a/><a/>

  I (or Kasimier) would have to double-check how that last case is handled,
but I think one need counted epsilon transitions in that case. Which has
the annoying effect that the reduction of the automata to find and elimitate
ambiguous branches is harder, but I think the existing epsilon elimination
algorithm still work as usual, you just have to make sure the newly generated
transitions reuse the same counter as the epsilon they replace.
  But I definitely need to double check this when I have time...


Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel@veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | 
Received on Monday, 11 October 2004 15:17:46 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:06 UTC