DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18405>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18405 Comination of fields in <xsd:unique> acts as <xsd:key> Summary: Comination of fields in <xsd:unique> acts as <xsd:key> Product: Xerces2-J Version: 2.3.0 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Major Priority: Other Component: XML Schema Structures AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Overview Description: When defining a combination of fields that should be unique by means of the <xsd:unique> element the defined fields are optional and don't need to be available in the instance document. However when defining more than one field under the <xsd:unique> element, Xerces generates an error message when one of the fields is not present: "Not enough values specified for <unique> identity constraint specified for element" Steps to Reproduce: schema.xsd ----------- <?xml version="1.0"?> <xsd:schema xmlns:ipm="http://unique/test" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://unique/test" elementFormDefault="qualified"> <xsd:element name="root"> <xsd:complexType> <xsd:sequence> <xsd:element ref="ipm:node" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:unique name="uniqueNode"> <xsd:selector xpath="ipm:node"/> <xsd:field xpath="@name"/> <xsd:field xpath="ipm:module/@name"/> </xsd:unique> </xsd:element> <xsd:element name="node"> <xsd:complexType> <xsd:sequence> <xsd:element name="module" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:attribute name="name" type="xsd:string"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="name" type="xsd:string"/> </xsd:complexType> </xsd:element> </xsd:schema> instance document ----------------- <?xml version="1.0"?> <root xmlns="http://unique/test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://unique/test unique.xsd"> <node> <module name="test2"/> </node> <node name="router"> <module name="test1"/> </node> </root> Validation is done with the sax.Counter class available in xercesSamples.jar. Usage: "java -classpath xercesSamples.jar;xercesImpl.jar;xmlParserAPIs.jar sax.Counter -s -v unique.xml" Actual Results: Gives following output [Error] unique.xml:9:8: Not enough values specified for <unique> identity constraint specified for element "root". Expected Results: Should be valid Build Date & Platform: First encountered with XercesJ-2.0.0 Replaced the jar files with those of XercesJ-2.3.0 but still encountered the same problem Additional Information: The problem only occurs when defining a combination of fields. When only one field there seems be no problem. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
