- From: Stanley Guan <stanley.guan@oracle.com>
- Date: Wed, 27 Feb 2002 10:26:53 -0800
- CC: Schema XML <xmlschema-dev@w3.org>
Henry,
Thank you for your answers. So similar interpretation applied
to other attributes:
finalDefault,
blockDefault,
final, and
block!
-Stanley
"Henry S. Thompson" wrote:
> Stanley Guan <stanley.guan@oracle.com> writes:
>
> > Hi,
> >
> > Is empty string an allowed value for attribute "final" as shown
> > below?
> >
> > <xsd:element name="fe_valid" final="" type="tns:sd"/>
> >
> > XSV seems to take it o.k. But, as shown in the spec.:
> > <element
> > (snip)
> > final = (#all | List of (extension | restriction))
> > (snip)
> > </element>
> >
> > Does this mean the only acceptable values for attribute
> > "final" are:
> > "#all",
> > "extension", or
> > "restriction"?
>
> The tableaux are non-normative, but are derived from the sForS, which
> is the normative reference here:
>
> <xs:union>
> <xs:simpleType>
> <xs:restriction base="xs:token">
> <xs:enumeration value="#all"/>
> </xs:restriction>
> </xs:simpleType>
> <xs:simpleType>
> <xs:list itemType="xs:reducedDerivationControl"/>
> </xs:simpleType>
> </xs:union>
>
> <xs:simpleType name="reducedDerivationControl">
> <xs:restriction base="xs:derivationControl">
> <xs:enumeration value="extension"/>
> <xs:enumeration value="restriction"/>
> </xs:restriction>
> </xs:simpleType>
>
> So in fact all the following are allowed:
>
> final="#all" (first branch of the union)
> final="" (2nd branch of the union, length 0)
> final="extension" (2nd branch of the union, length 1)
> final="restriction" (2nd branch of the union, length 1)
> final="extension restriction" (2nd branch of the union, length 2)
>
> and a bunch of useless variations are also allowed
>
> final="restriction extension" (2nd branch of the union, length 2)
> final="restriction restriction" (2nd branch of the union, length 2)
> final="extension extension" (2nd branch of the union, length 2)
> final="restriction extension restriction" (2nd branch of the union, length 3)
>
> We could/probably should have restricted the length to two, but that
> still would have left some redundancy. Doesn't matter to the
> semantics.
>
> If you read the relevant mapping prose for {substitution group
> exclusions} in 3.3.2 [1] you will see that the length 0 list is
> entirely reasonable, is in fact the default (via the 'finalDefault'
> attribute on <xs:schema>), and means that the element's use as a
> substitution group head is not constrained.
>
> ht
>
> [1] http://www.w3.org/TR/xmlschema-1/#declare-element
> --
> 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 Wednesday, 27 February 2002 13:27:09 UTC