The documents tell me that (emphasis added)
When an inheritable name attribute is set on
cs:bibliography, its value is used for all
cs:nameselements within the scope of the element carrying the attribute. If an attribute is set on multiple hierarchical levels, the value set at the lowest level is used.
My question is what “scope” means in this context. It could mean:
The inheritable options affect all
cs:nameselements which are descendants of the
cs:bibliographynode on which the attributes are set (i.e. scope determined “statically” by the position within the xml tree), or
The inheritable options affect all productions from a
cs:nameselement that is called as a result of rendering either a citation or a bibliography (i.e. scope determined, as it were, “dynamically”, during the application of the csl to produce (maybe) some output).
This obviously does not matter if the attributes are set on
cs:style. What it affects is proper behaviour when a
cs:macro renders a
cs:names element. My instincts, in terms of practical use, would be that the second, dynamic, interpretation makes sense: a
cs:macro used “from within” a node whose ultimate parent is
cs:citation, should use inheritable name elements set on any relevant element that has been “called” before it renders text. In terms of the re-usability of macros, that seems the right decision, but I may be missing something. Is that right?