- From: Takuki & Miki Kamiya <takuki@pacbell.net>
- Date: Wed, 30 Jan 2002 07:16:05 -0800
- To: "Eddie Robertsson" <eddie@allette.com.au>
- Cc: <xmlschema-dev@w3.org>
Hi, What you are saying is true for attribute use, but I am talking about attribute wildcard which has quite different inheritance rule. Regards, -taki > No, I don't think that's necessary. Remember that attribute declarations > are carried forward in a derivation by restriction without having to be > declared in the restricted type. To remove an attribute in a restriction > you have to specify use="prohibited" > > Cheers, > /Eddie > > > > > > > -Takuki Kamiya > > > > Following is an excerpt from schema for schemas. > > > > <xs:complexType name="openAttrs"> > > <xs:annotation> > > <xs:documentation> > > This type is extended by almost all schema types > > to allow attributes from other namespaces to be > > added to user schemas. > > </xs:documentation> > > </xs:annotation> > > <xs:complexContent> > > <xs:restriction base="xs:anyType"> > > <xs:anyAttribute namespace="##other" processContents="lax"/> > > </xs:restriction> > > </xs:complexContent> > > </xs:complexType> > > > > <xs:complexType name="annotated"> > > <xs:annotation> > > <xs:documentation> > > This type is extended by all types which allow annotation > > other than <schema> itself > > </xs:documentation> > > </xs:annotation> > > <xs:complexContent> > > <xs:extension base="xs:openAttrs"> > > <xs:sequence> > > <xs:element ref="xs:annotation" minOccurs="0"/> > > </xs:sequence> > > <xs:attribute name="id" type="xs:ID"/> > > </xs:extension> > > </xs:complexContent> > > </xs:complexType> > > > > <xs:complexType name="complexType" abstract="true"> > > <xs:complexContent> > > <xs:extension base="xs:annotated"> > > <xs:group ref="xs:complexTypeModel"/> > > <xs:attribute name="name" type="xs:NCName"> > > <xs:annotation> > > <xs:documentation> > > Will be restricted to required or forbidden</xs:documentation> > > </xs:annotation> > > </xs:attribute> > > <xs:attribute name="mixed" type="xs:boolean" use="optional" > > default="false"> > > <xs:annotation> > > <xs:documentation> > > Not allowed if simpleContent child is chosen. > > May be overriden by setting on complexContent > > child.</xs:documentation> > > </xs:annotation> > > </xs:attribute> > > <xs:attribute name="abstract" type="xs:boolean" use="optional" > > default="false"/> > > <xs:attribute name="final" type="xs:derivationSet"/> > > <xs:attribute name="block" type="xs:derivationSet"/> > > </xs:extension> > > </xs:complexContent> > > </xs:complexType> > > > > <xs:complexType name="topLevelComplexType"> > > <xs:complexContent> > > <xs:restriction base="xs:complexType"> > > <xs:sequence> > > <xs:element ref="xs:annotation" minOccurs="0"/> > > <xs:group ref="xs:complexTypeModel"/> > > </xs:sequence> > > <xs:attribute name="name" type="xs:NCName" use="required"/> > > </xs:restriction> > > </xs:complexContent> > > </xs:complexType> >
Received on Wednesday, 30 January 2002 10:16:21 UTC