Some attributes affect not merely their parent element but all their parent's descendents. This phenomenon is called inheritability.
Some attributes are non-inheritable. That is, the attribute relates only to the
parent element. Examples: @pattern
, @flags
. If TAN schema documentation for an attribute does not state
anything about the inheritability of an attribute's values, it should be treated as
non-inheritable.
Most inheritable attributes are weakly inheritable. That is, inheritance stops at
any descendant that has the same attribute. For example, @xml:lang
set to eng
specifies that its text nodes are in English, but it might contain another element
whose @xml:lang
is set
lat
. If text has multiple ancestors with different @xml:lang
s, the closest
(leafward-most) is the only one that counts.
Other inherited attributes are cumulative. That is, their values combine as one
goes from root to leaf. For example, if an element with @cert
wraps another, and each one has a
@cert
value of
0.5
, it means that claim behind the wrapped element has only 25%
certainty. @n
in a <div>
is indirectly cumulative for the
purposes of resolving values of @ref
. Any given <div>
has one or more implied references, formed by all
permutations of concatenating values of inherited @n
s. Cumulative inherited attributes are infrequent, and the
documentation specifies how each one behaves.
Some attributes within the same element have interpretive priority. @claimant
, for example, has priority
over @cert
. That is, the two
attributes in the same element are to be interpreted to mean: "@claimant
has @cert
confidence about the following
claim:...." It does not mean that one is uncertain whether the claimant made the
claim.