- From: Kasimier Buchcik <K.Buchcik@4commerce.de>
- Date: Tue, 27 Sep 2005 19:16:36 +0200
- To: XML-SCHEMA <xmlschema-dev@w3.org>
Hi, Potential bug in Libxml2 2.6.22 and Saxon 8.5.1: attribute prohibitions defined in attribute groups are significant with those processors. Attribute uses for attribute groups: "{attribute uses}The union of the set of attribute uses corresponding to the <attribute> [children], if any, with the {attribute uses} of the attribute groups ·resolved· to by the ·actual value·s of the ref [attribute] of the <attributeGroup> [children], if any." The question is: are attribute prohibitions in <attributeGroup>s pointless? Xerces-J 2.7.1 and XSV 2.10 seem to skip such attribute prohibitions. Test case (I double-checked the test this time ;-) ): attr-gr-2.xsd ------------- xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:test:foo" xmlns:f="urn:test:foo" attributeFormDefault="qualified"> <xs:attribute name="bar"/> <xs:complexType name="base"> <xs:attribute name="bar"/> </xs:complexType> <xs:attributeGroup name="group"> <xs:attribute name="bar" use="prohibited"/> </xs:attributeGroup> <xs:element name="foo"> <xs:complexType> <xs:complexContent> <xs:restriction base="f:base"> <xs:attributeGroup ref="f:group"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element> </xs:schema> attr-gr-2.xml ------------- <foo xmlns="urn:test:foo" xmlns:f="urn:test:foo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:test:foo attr-gr-2.xsd" f:bar="lala"/> XSV 2.10, Xerces-J 2.7.1: No errors. Saxon 8.5.1: Validation error on line 6 column 16 of file:/p:/libxml2-lab/tests/2005-09-27/attr-gr-2.xml: Attribute @bar is not allowed on element <foo> Libxml2 2.6.22: Element '{urn:test:foo}foo', attribute '{urn:test:foo}bar': The attribute '{urn:test:foo}bar' is not allowed. While Saxon and Libxml2 seem to have applied the attribute prohibition, the other two processors have not. Regards, Kasimier
Received on Tuesday, 27 September 2005 17:16:58 UTC