W3C home > Mailing lists > Public > xmlschema-dev@w3.org > June 2001

Structures, Datatypes spec not consistent on simpleType final values

From: Roger L. Costello <costello@mitre.org>
Date: Sat, 09 Jun 2001 09:16:09 -0400
Message-ID: <3B222199.EB3F9D80@mitre.org>
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">

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:

   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:

  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

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:55:52 UTC