- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 04 Jan 2001 15:06:59 +0000
- To: Jane Hunter <jane@dstc.edu.au>
- Cc: www-xml-schema-comments@w3.org
Jane Hunter <jane@dstc.edu.au> writes:
> The MPEG-7 group requires clarification wrt derivation by restriction
> on a base type which was itself derived by extension.
>
> When specifying the restriction do you only have to repeat the
> components of the immediate base type or do you have to also repeat all
> of the content model components of the super-type hierarchy inherited
> by the base type i.e. the base of the base of the base..?
The latter, because the interpretation of the XML representation of a
restriction is specified wrt the base type definition, not the base
type definition's XML representation, and _that_ type definition
already has a complete content model, set of attribute use pairs, etc.
> This is not clear because of an inconsistency between an example in
> section 4.3.2 and the schema for the schema for Part 2.
>
> In the second example in section 4.3.2, xs:facet is defined as an
> extension of xs:annotated and xs:encoding and xs:period are
> restrictions of xs:facet. Only the extended components are repeated in
> the restriction definitions.
>
> <xs:complexType name="facet">
> <xs:complexContent>
> <xs:extension base="xs:annotated">
> <xs:attribute name="value" use="required"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
>
> <xs:element name="encoding" substitutionGroup="xs:facet">
> <xs:complexType>
> <xs:complexContent>
> <xs:restriction base="xs:facet">
> <xs:attribute name="value" type="xs:encodings"/>
> </xs:restriction>
> </xs:complexContent>
> </xs:complexType>
> </xs:element>
That's a bug, you're right, sorry!
> However in the schema of the schema for Part 2, the content model of
> the super-super-type is present:
>
> <element name="encoding" id="encoding" substitutionGroup="facet">
> <complexType>
> <complexContent>
> <restriction base="facet">
> <!-- here's the content model from annotated -->
> <sequence>
> <element ref="annotation" minOccurs="0"/>
> </sequence>
>
> <attribute name="value">
> ...
> </attribute>
> </restriction>
> </complexContent>
> </complexType>
> </element>
That's correct.
> Could someone please clarify whether you need to repeat the content
> model of the entire type hierarchy or only that of the immediate
> basetype when specifying a derivation by restriction?
Those are actually the same thing, as I explained above.
ht
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 4 January 2001 10:07:05 UTC