- From: Eric van der Vlist <vdv@dyomedea.com>
- Date: Tue, 10 Jul 2001 19:27:47 +0200
- To: "Henry S. Thompson" <ht@cogsci.ed.ac.uk>, xmlschema-dev@w3.org
Hi Henry,
"Henry S. Thompson" wrote:
>
> XSV 1.197/1.99 of 2001/07/06 10:02:16 is now available in all forms
> (executable, web server, sources) -- fixes the bug that started this
> thread, does a better job with attribute defaults.
The new release doesn't seem to support the conclusions we've reached in
the discussion about key and keyrefs [1].
[1] http://lists.w3.org/Archives/Public/xmlschema-dev/2001Jul/0003.html
If we take the following document:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="keys-refs.xsd">
<keys>
<key id="1"/>
<key id="2"/>
<key id="3"/>
</keys>
<refs>
<ref ref="1"/>
<ref ref="2"/>
<ref ref="3"/>
</refs>
</root>
The schema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="keys">
<xs:complexType>
<xs:sequence>
<xs:element name="key" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="xs:byte"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="key">
<xs:selector xpath="key"/>
<xs:field xpath="@id"/>
</xs:key>
</xs:element>
<xs:element name="refs">
<xs:complexType>
<xs:sequence>
<xs:element name="ref" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="ref" type="xs:byte"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--<xs:key name="key">
<xs:selector xpath="keys/key"/>
<xs:field xpath="@id"/>
</xs:key>-->
<xs:keyref name="keyref" refer="key">
<xs:selector xpath="refs/ref"/>
<xs:field xpath="@ref"/>
</xs:keyref>
</xs:element>
</xs:schema>
fails with the following error:
<?xml version='1.0'?>
<xsv docElt='{None}root' instanceAssessed='true' instanceErrors='1'
rootType='[A
nonymous]' schemaErrors='0' schemaLocs='None -> keys-refs.xsd'
target='keys-refs.xml'
validation='strict' version='XSV 1.197/1.99 of 2001/07/06 10:02:16'
xmlns='http://www.w3.org/2000/05/xsv'>
<importAttempt URI='keys-refs.xsd' outcome='success'/>
<invalid char='39' code='cvc-identity-constraint.2.3.2' line='1'
resource='file:
keys-refs.xml'>No key or unique constraint named key declared, refed by
keyref keyref</invalid>
</xsv>
My new undertanding was that the key could be defined under /root/keys
and its definition would be propagated to its parent /root where it can
be referenced...
Note that if I uncomment the definition of the key under /root, the
validation succeeds.
Have I missed something or is-it a bug in XSV?
Thanks
Eric
>
> ht
> --
> Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
> W3C Fellow 1999--2001, part-time member of W3C Team
> 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
> Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
> URL: http://www.ltg.ed.ac.uk/~ht/
--
See you at XTech in San Diego.
http://conferences.oreillynet.com/cs/os2001/view/e_spkr/790
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
http://xsltunit.org http://4xt.org http://examplotron.org
------------------------------------------------------------------------
Received on Tuesday, 10 July 2001 13:27:49 UTC