Thanks for the reply. My main concern is with how 'inheritance' is
*implemented*. I have seen sufficient discussion here and elsewhere to
believe that different groups will write code that does different things.
This worries me.
One view of inheritance is that it is simply minimisation (i.e. it saves
you writing an attribute, a namespace prefix, or whatever is inherited). A
processor (at some undefined stage) expands the minimisation. Thus
<foo xml:lang="fr">
<bar/>
</foo>
is functionally equivalent to:
<foo xml:lang="fr">
<bar xml:lang="fr"/>
</foo>
Others (I suspect the majority) assume that at some stage a piece of
software will ask "does xml:lang apply to this element, and if so, what is
its value?" [Actually xml:lang 'applies' to *all* elements.] The word
'apply' is far too fuzzy to define the software implementation. I have
consulted experts on whether an XPointer asking for a bar element with an
attribute xml:lang would identify the element in the above example. So far
the score is 2 yes, 3 no. I have no expert opinion, I'm just trying to
write software that will be consistent with the specs. At present I can't
:-) [I think most of the experts don't see what my problem is, because they
have very clear ideas of how this should work for them.]
P.
Peter Murray-Rust, Director Virtual School of Molecular Sciences, domestic
net connection
VSMS http://www.nottingham.ac.uk/vsms, Virtual Hyperglossary
http://www.venus.co.uk/vhg