This is a recap of an possible erratum discussed within the Schema IG. Because attribute wildcards have a "lazy" behavior, it's possible for an apparently-valid restriction to violate the general notion of restriction. By "lazy" I mean the property that an attribute-wildcard will only match an attribute-information-item (AII) if no other attribute-use matches the AII. Best demonstrated by example: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="B"> <xs:attribute name="FOO" type="xs:int"/> <xs:anyAttribute processContents="skip"/> </xs:complexType> <xs:complexType name="A"> <xs:complexContent> <xs:restriction base="B"> <xs:attribute name="FOO" type="xs:int" use="prohibited" /> <xs:anyAttribute processContents="skip" /> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:schema> I believe this is a valid restriction per the rules of restriction, but not by the general definition in Section 2, which includes Members of a type, A, whose definition is a ·restriction· of the definition of another type, B, are always members of type B as well. B doesn't accept an element with attribute FOO="abc", but A does accept it. That's because A doesn't contain an attribute-use for FOO, so the attribute-wildcard validates FOO in A. xan Xan Gregg TIBCO Software, Inc. www.tibco.comReceived on Monday, 21 April 2003 12:06:04 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 6 December 2009 18:13:02 GMT