- From: Roger L. Costello <costello@mitre.org>
- Date: Sat, 09 Jun 2001 09:16:09 -0400
- To: xmlschema-dev@w3.org, "Costello,Roger L." <costello@mitre.org>
Question: Can a simpleType's "final" attribute have the value
"extension"? For example:
<simpleType name="foo" final="extension">
...
</simpleType>
The information on this topic differs between the structure's spec and
the datatype's spec (the former says it is a valid value, the later says
it isn't).
Here's what it says in section 3.14.1 of the structure's spec:
"... the explicit values extension, restriction, list and union prevent
further derivations by extension (to yield a complex type) and
restriction (to yield a simple type) and use in constructing lists and
unions respectively."
And yet later, in section 3.14.2 it says:
<simpleType
final = (#all | (list | union | restriction))
Note that this says nothing about an extension value.
Later on, in the same section we find:
{final} As for the {prohibited substitutions} property
of complex type definitions, but using the final
and finalDefault [attributes] in place of the
block and blockDefault [attributes] and with
the relevant set being
{extension, restriction, list, union}
So, at one point in the structure's spec it says extension is a legal
value for final, at another point it says that it's not legal, and then
at a third point it's back to saying that it is legal.
Now, if we turn to the datatype's spec, here's what it says:
<simpleType
id = ID
final = #all | List of (restriction, list, union)
This says that there is no extension value for final.
Okay, I'm confused. What's the answer - is extension a legal value for
the simpleType's final attribute? /Roger
Received on Saturday, 9 June 2001 09:17:39 UTC