XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Hans-Peter KüchlerSubject: Question using xsd:key
Author: Hans-Peter Küchler
Date: 29 Oct 2002 11:56 AM
Please have a look at the KeyTest.xml file (it is in the ZIP file). Open the file with SS and validate the file. The file is valid. But I think it shouldn't be valid because of the key definition in the xsd file. What's wrong with my key definition?

thank you, Hans-Peter


ApplicationKeyTest.zip

Postnext
(Deleted User) Subject: Re: Question using xsd:key
Author: (Deleted User)
Date: 29 Oct 2002 02:24 PM
Hi Hans-Peter,
I think there is a bug in the Xerces code, as XSV 1.4 signals the errors
you expect. I'll report the bug to the Xerces team.

Thanks,
Alberto

Postnext
Hans-Peter KüchlerSubject: Re: Question using xsd:key
Author: Hans-Peter Küchler
Date: 30 Oct 2002 04:31 AM
Hi Minollo,

what does XSV 1.4 mean?

Hans-Peter

Postnext
(Deleted User) Subject: Re: Question using xsd:key
Author: (Deleted User)
Date: 30 Oct 2002 04:46 AM
At 04.47 30/10/2002 -0500, you wrote:
>From: "Hans-Peter Küchler"
>
>Hi Minollo,
>
>what does XSV 1.4 mean?

XSV is an open source validator tool that can be used to validate XML
Schemas; it can be downloaded from
ftp://ftp.cogsci.ed.ac.uk/pub/XSV/XSV14.EXE to be used as a command line
tool, or accessed online from the page http://www.w3.org/2001/03/webdata/xsv

Alberto

Postnext
Hans-Peter KüchlerSubject: Re: Question using xsd:key
Author: Hans-Peter Küchler
Date: 31 Oct 2002 05:28 AM
I think, there is another subtle error in validating keys. This error(?) is not reported by SS (nor by XSV):
The key in KeyTest2.xsd should prevent element Prozess with Name="P2" from referencing Prozess "P1-1" which is recursive embedded. At first sight the key "KProzessNameR" has all Prozess names, BUT (because of the spec) there shouldn't be a Name of a recursive embedded element Prozess in the key!
http://www.w3.org/TR/xmlschema-1/#section-Identity-constraint-Definition-Information-Set-Contributions:
'PSVI Contributions for Identity-constraint Binding information items' says

"A ·node table· with one entry for every ·key-sequence· (call it k) and node (call it n) such that one of the following must be true:

1 There is an entry in one of the ·node tables· associated with the [definition] in an Identity-constraint Binding information item in at least one of the [identity-constraint table]s of the element information item [children] of the element information item whose ·key-sequence· is k and whose node is n;

2 n appears with ·key-sequence· k in the ·qualified node set· for the [definition]."

The word "one" in the primer is written in bold, so I read this as "exactly one". So there have all Name elements from recursive embedded Prozess elements removed from the node table, because BOTH clauses are true for such a Name element.
First, it is at least in the node table of the Prozesse element where it appears with XPath Prozess/Name and it has to be propagated upwards and so it is in the node table of the child Prozess of Prozesse.
Second, it is in the qualified node set of Prozesse.

regars, Hans-Peter


ApplicationKeyTest2.zip

Postnext
Hans-Peter KüchlerSubject: Re: Question using xsd:key
Author: Hans-Peter Küchler
Date: 07 Nov 2002 06:56 AM
Hi,

what do you think about the error? See the example keytest2.zip.

regards, Hans-Peter

Posttop
(Deleted User) Subject: Re: Question using xsd:key
Author: (Deleted User)
Date: 07 Nov 2002 01:13 PM
Hi Hans,
sorry for the delay, but this question needed a lot of thought... (I still
have headache ;-) )

After reading the specs multiple times, I came to the conclusion that your
fragment is valid, and there should not be any error reported.
The key sentence is located just after the piece of spec you reported:
"Potential conflicts are resolved by not including any conflicting entries
which would have owed their inclusion to clause 1 above.". That is, the
node with value "P1-1" could be added to the identity constraint table of
the top level "Prozesse" both because it is selectable by the
".//Prozess/Name" XPath query and because it is already in the identity
constraint table of a child of "Prozesse"; due to this conflict, the second
entry is discarded, but one is entered in the table anyway.

Hope this helps,

Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.