- From: <noah_mendelsohn@us.ibm.com>
- Date: Fri, 28 Jun 2002 09:51:01 -0400
- To: James Clark <jjc@jclark.com>
- Cc: mike@ammd.com.au, priscilla@walmsley.com, www-xml-schema-comments@w3.org
Maybe I'm reading this too quickly, but I believe what's going on here IS restriction. The complex type has as its base anyType, so anything is indeed a restriction of that. The simple type defined is in turn a restriction of String. So, the attribute is not an extension of string. The overall complex type, attribute and all, is a restriction of anyType. It so happens to have simple content, so the whole thing could be misread as an extension of that simple content. It's not, I think. ------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 IBM Corporation Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------ James Clark <jjc@jclark.com> Sent by: www-xml-schema-comments-request@w3.org 06/28/02 09:03 AM To: Priscilla Walmsley <priscilla@walmsley.com>, www-xml-schema-comments@w3.org cc: mike@ammd.com.au, (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: Re: Feature request - anonymous simplecontent type definition within complex type definition >> Maybe I'm missing something, but can't you avoid this by doing > something >> like this > >> <xs:element name="foo"> >> <xs:complexType> >> <xs:simpleContent> >> <xs:restriction base="xs:anyType"> >> <xs:simpleType> >> <xs:restriction base="xs:string"> >> <xs:maxLength value="8"/> >> </xs:restriction> >> </xs:simpleType> >> <xs:attribute name="bar"/> >> </xs:restriction> >> </xs:simpleContent> >> </xs:complexType> >> </xs:element> > > Unfortunately that won't work because adding attributes is considered an > extension, not a restriction, and you can't do both in one step. I don't understand why you say it won't work. It works in all the implementations I've tried (SQC, XSV, MSXML). Can you point me to where in Part 1 it is disallowed? Syntactically it's legal: a <restriction> in <simpleContent> does allow <attribute>: in the S4S, simpleRestrictionType refs attrDecls. Also <xs:complexType> <xs:attribute name="bar"/> </xs:complexType> is short for <xs:complexType> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:attribute name="bar"/> </xs:restriction> </xs:complexContent> </xs:complexType> so it seems like a restriction of xs:anyType can define attributes. James
Received on Friday, 28 June 2002 10:09:54 UTC