Re: final on element declaration

Hi Don,

> What is the purpose of the "final" attribute on an element
> declaration?
>
> I understand its use on a type definition, but can't figure out what
> it means to prohibit a derivation from a declaration.

An element declaration is "derived" from another when its part of the
*substitution group* of that element declaration. Controls like final,
abstract and (partially) block determine whether an element can or
can't be (or has to be) the head of a substitution group.

Setting final to true means that it can't be cited as the head element
of a substitution group; setting abstract to true means that the
element itself can't be used in the instance, but has to be
substituted by some other element.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/

Received on Saturday, 27 April 2002 05:36:03 UTC