- From: Eddie Robertsson <eddie@allette.com.au>
- Date: Thu, 31 Jan 2002 09:49:13 +1100
- To: Takuki & Miki Kamiya <takuki@pacbell.net>
- 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.
Yes, I hadn't read that part of the spec but after reading the relevant
section which I think(??) is [1] I believe you are correct. The
topLevelComplexType seems to be missing the attribute wildcard. Maybe someone
else has some more info about this?
Cheers,
/Eddie
[1] http://www.w3.org/TR/xmlschema-1/#declare-type (in the table with the
heading: "Complex Type Definition with simple content Schema Component" under
{attribute wildcard})
>
>
> 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 17:39:40 UTC