- From: Joan Pujol <joan.pujol@ima.udg.es>
- Date: Fri, 26 Oct 2001 09:44:51 +0200
- To: xmlschema-dev@w3.org
Hi, I have problems with Schema's Identity Contraints. I can't understand the behaivor of some Xpath expressions on selectors. For example, if I use ".//*" as the selector, the constraint aparently don't apply. And if I use the "*" that is a subcase of ".//*" the contraint is applied. I readed a little at the Schema Specification(3.11.6), and ".//*" is a well constructed XPath expresion for a selector. I think that the problem is that it break one of the Indentity-constraint Definition Validation Rules (3.11.4), but I can't find which rule. Someone can help me? This are my test files: <?xml version="1.0" encoding="UTF-8"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="testfile.xsd"> <Element name="NAME1"/> <Element name="NAME1"/> </Root> <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="Root"> <complexType> <choice minOccurs="0" maxOccurs="unbounded"> <element name="Element"> <complexType> <attribute name="name"/> </complexType> </element> </choice> </complexType> <unique name="IdentityContraint1"> <selector xpath=".//*"/> <field xpath="@name"/> </unique> </element> </schema> Parsing the XML file returns that this is OK (aparently ignoring the Identity constaint). If I change the selector for "*" the parser informs of the identity constraint violation. Bye,
Received on Friday, 26 October 2001 03:45:08 UTC