- From: Rahul Srivastava <Rahul.Srivastava@Sun.COM>
- Date: Mon, 8 Apr 2002 13:45:23 +0000 (Asia/Calcutta)
- To: xmlschema-dev@w3.org
Hi,
I have two small schemas for an instance file defining Id/y constraints. One
works and the other does not. I doubt the other one is invalid.
schema1: This works
<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:element>
</xsd:sequence>
</xsd:complexType>
<xsd:key name="BookKey">
<xsd:selector xpath="./Book"/>
<xsd:field xpath="isbn"/>
</xsd:key>
</xsd:element>
schema2: This does not works
<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 spec says:
http://www.w3.org/TR/xmlschema-1/#Identity-constraint_Definition_details
[[
{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.
]]
but, there could be something that I have missed.
Can somebody clarify on this.
Cheers,
Rahul.
Sun Microsystems, Inc.
Received on Monday, 8 April 2002 04:22:55 UTC