- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 14 Sep 2005 19:09:40 +0000
- To: www-xml-schema-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2205 Summary: R-213: Question about attribute wildcards and restriction Product: XML Schema Version: 1.0 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: XSD Part 1: Structures AssignedTo: ht@w3.org ReportedBy: sandygao@ca.ibm.com QAContact: www-xml-schema-comments@w3.org 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. See: http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003JanMar/0007.html
Received on Wednesday, 14 September 2005 19:09:53 UTC