W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > July to September 2001

Re: <attribute use='prohibited'/> in complex type restrictions

From: choi jongwon <jwchoi@digiweb21.com>
Date: Wed, 4 Jul 2001 11:21:36 +0900
To: <www-xml-schema-comments@w3.org>
Message-ID: <001201c10430$0db3e800$a9892fd3@jwchoi>
can i give you my opinion...?

i think that, both of it available because phrase 3.2 below says {name} and {target namespace} needs only.

3.4.2 ComplexType definition.
{attribute uses} A union of sets of attribute uses as follows 
	1 The set of attribute uses corresponding to the <attribute> [children], if any. 
	2 The {attribute uses} of the attribute groups ,resolved, to by the ,actual value,s 
	 of the ref [attribute] of the <attributeGroup> [children], if any.  
	3 if the type definition ,resolved, to by the ,actual value, of the base [attribute] is a complex type definition, 
	 the {attribute uses} of that type definition, unless the <restriction> alternative is chosen, 
	 "in which case" some members of that type definition's {attribute uses} may not be included, 
	 namely those whose {attribute declaration}'s {name} and {target namespace} are the same as one of the following: 
	 3.1 the {name} and {target namespace} of the {attribute declaration} 
	   of an attribute use in the set per clause 1 or clause 2 above; 
	 3.2 what would have been the {name} and {target namespace} of the {attribute declaration}
	  of an attribute use in the set per clause 1 above but for the ,actual value, of the use [attribute] 
	  of the relevant <attribute> among the [children] of <restriction> being prohibited. 

and there is a good example in XMLSchema structure schema in appendix A.

<xs:complexType name="attribute">
   <xs:extension base="xs:annotated">
     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
    <xs:attributeGroup ref="xs:defRef"/>
    <xs:attribute name="type" type="xs:QName"/>
    <xs:attribute name="use" use="optional" default="optional">
      <xs:restriction base="xs:NMTOKEN">
       <xs:enumeration value="prohibited"/>
       <xs:enumeration value="optional"/>
       <xs:enumeration value="required"/>
    <xs:attribute name="default" type="xs:string"/>
    <xs:attribute name="fixed" type="xs:string"/>
    <xs:attribute name="form" type="xs:formChoice"/>
 <xs:complexType name="topLevelAttribute">
   <xs:restriction base="xs:attribute">
     <xs:element ref="xs:annotation" minOccurs="0"/>
     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
    <xs:attribute name="ref" use="prohibited"/>
    <xs:attribute name="form" use="prohibited"/>
    <xs:attribute name="use" use="prohibited"/>
    <xs:attribute name="name" use="required" type="xs:NCName"/>

thank you for your question.
it derives me more deep understand of attribute... ^ ^;
Received on Tuesday, 3 July 2001 22:11:08 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:08:53 UTC