- From: Yuri Delendik <yury_exi@yahoo.com>
- Date: Sun, 21 Sep 2008 17:13:58 -0700 (PDT)
- To: public-exi-comments@w3.org
Hello,
In some instances during elimination of productions with no terminal symbol (8.5.4.2.1) infinite loops can appear in forms:
G_(i,j):
G_(i,j)
Or
G_(i,j):
G_(i,k)
G_(i,k):
G_(i,l)
G_(i,l):
G_(i,k)
Eliminating them using only algorithm is not trivial and produce variations therefore may produce different grammars for same XSD schema on different implementations.
Source of those productions is particle {max occurs} = unbound.
Also, in paragraph when additional copy of Term_0 generated for unbound particle restrictions “k > 0” is missing. When
G_({min occurs}, 0):
EE
is replaced by:
G_({min occurs}, 0):
G_({min occurs}, 0)
Which is circular production with no terminal symbol and I cannot find well-documented way to eliminate it.
Could you illustrate how to convert following schema to EXI normalized grammars?
<xsd:element name="el1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="el1_1" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType />
</xsd:element>
</xsd:sequence>
<xsd:attribute name="at1" type="xsd:string" >
</xsd:complexType>
</xsd:element>
Thank you.
Received on Monday, 22 September 2008 00:16:04 UTC