Hey, I'am trying to write a xml schema which must validate that a given attribute is unique.
A (valid) simple example of the problem could look like this: <root xmlns="http://ns2" > <a id="a/1" /> <a id="a/2" > <a id="a/3" /> <a id="a/4"/> </a> </root> An invalid example (where the ID field is not unique) could look like this: <root xmlns="http://ns2" > <a id="a/1" /> <a id="a/2" > <a id="a/1" /> <a id="a/4"/> </a> </root> The schema I have been experimenting with looks like this: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ptt="http://ns2" targetNamespace="http://ns2" elementFormDefault="qualified" > <xsd:element name="root" type="ptt:myList"> <xsd:unique name="myId"> <xsd:selector xpath="ptt:*"/> <xsd:field xpath="@id"/> </xsd:unique> </xsd:element> <xsd:complexType name="myList"> <xsd:sequence minOccurs="1"> <xsd:element name="a" minOccurs="1" maxOccurs="unbounded" type="ptt:asdf" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="asdf"> <xsd:sequence minOccurs="1"> <xsd:element name="a" minOccurs="0" maxOccurs="unbounded" type="ptt:asdf" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:string"/> </xsd:complexType> </xsd:schema> I belive my problem is, that I can not figure out the correct xpath to write in the selector. Best regards Allan W. Nielsen _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
