- From: Rahul Srivastava <Rahul.Srivastava@Sun.COM>
- Date: Wed, 10 Apr 2002 14:43:42 +0000 (Asia/Calcutta)
- To: www-xml-schema-comments@w3.org
Hi, I think the following schema is invalid: <xsd:element name="root"> <xsd:complexType> <xsd:sequence> <xsd:element name="Book" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="isbn" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <xsd:key name="BookKey"> <xsd:selector xpath="."/> <xsd:field xpath="isbn"/> </xsd:key> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> The point to note here is, the selector XPath is having the expr. '.' The XMLSchema Rec. http://www.w3.org/TR/xmlschema-1/ says: [[ {selector} specifies a restricted XPath ([XPath]) expression relative to instances of the element being declared. This must identify a node set of subordinate elements (i.e. contained within the declared element) to which the constraint applies. ]] Further, 3.11.4 The Identity-constraint Definition Validation Rules, http://www.w3.org/TR/xmlschema-1/#section-Identity-constraint-Definition-Validation-Rules says: [[ Validation Rule: Identity-constraint Satisfied For an element information item to be locally ·valid· with respect to an identity-constraint all of the following must be true: 1 The {selector}, with the element information item as the context node, evaluates to a node-set (as defined in [XPath]). [Definition:] Call this the target node set. 2 Each node in the ·target node set· is an element node among the descendants of the context node. 3 .... . . . ]] Looking at point 2 above, it reflects that, we cannot use '.' as the XPath expr. for a selector. Does *descendants of the context node* includes the context node? On the other hand the production rule for the XPath expr. for the selector allows '.' as a valid XPath expr. http://www.w3.org/TR/xmlschema-1/#coss-identity-constraint Please clarify. Refer: http://lists.w3.org/Archives/Public/xmlschema-dev/2002Apr/0048.html Thanks, Rahul. Sun Microsystems, Inc.
Received on Wednesday, 10 April 2002 05:21:19 UTC