On Sun, Jan 26, 2014 at 11:41 AM, Sylvester Keil <[email protected]> wrote:
> On Sat, 2014-01-25 at 10:36 -0500, Rintze Zelle wrote:
>> On Sat, Jan 25, 2014 at 5:40 AM, Sylvester Keil <[email protected]> wrote:
>> > Going back to the first question, I do see some merit in allowing
>> > substitution cs:names to inherit the child nodes from the original
>> > cs:names even when they are called by a macro; not allowing it is easier
>> > to implement, but by allowing it, style authors could effectively
>> > override the cs:name, cs:et-al and cs:label settings of a macro.
>>
>> Having cs:names in a called macro inherit the attribute settings from
>> the parent cs:names of cs:substitute makes CSL less expressive. E.g.,
>> if the parent cs:names defines et-al abbreviation, there will be no
>> way to get rid of it in the called macro. This isn't an issue for
>> inheritable name attributes, since there, if some name variables need
>> to be rendered without et-al abbreviation, the style author can always
>> abstain from defining the et-al attributes on cs:style, cs:citation,
>> and cs:bibliography.
>
> Right, I've changed the processor to use the cs:names parent of
> cs:substitute during the substitution process only:
>
> - When the current cs:names does not have children of its own
> - And when the cs:names that is being substituted is an ancestor of the
> current cs:names in the XML tree
>
> Does that sound good?

Yes. By the way, looking at the schema, I just noticed how much
flexibility there is in defining elements within cs:substitute
(basically any content allowed within macros can be used within
cs:substitute). CSL 1.0.1 also made cs:name an optional child element
of cs:names, which makes it impossible to distinguish between the
"shorthand" cs:names an a regular cs:names. Perhaps we should consider
limiting cs:substitute in future versions of CSL, and e.g. only allow
the cs:names shorthand and cs:text (to call variables and macros) as
children. Anything complex can then be moved out into a macro.

Rintze

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
xbiblio-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbiblio-devel

Reply via email to