Yep.That does it. I did learn some things about map:merge and use-first,
use-last, and combine.
Thanks again for all your help.
t.o.
> On Aug 18, 2020, at 12:37 PM, Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Am 18.08.2020 um 18:14 schrieb Terry Ofner tdofner@xxxxxxxxx
<mailto:tdofner@xxxxxxxxx>:
>> Interesting tangle I am in. I tried the map:merge in both the iterate
>> and apply-templates solutions. I can indeed reference the bpb and pull
>> it into the output. However, it seems to play havoc with the $groups
>> output. Here is the changed iterate:
>>
>> <xsl:iterateselect="p[@class = 'nl'] !
>> map:merge(($groups, map
>> { 'p' : . }))">
>> <xsl:text> </xsl:text>
>> <write_choice num="{position() - 1}"letter="{?letter}"
>> term="{?term}"item="{?p}"/>
>> </xsl:iterate>
>
> Yes, sorry, I got lost in my own suggestion, the right code should be
>
> <xsl:apply-templates
> select="for $p in p[@class = 'nl']
> return $groups
> !
> map:merge(
> ($groups,
> map { 'p' : $p })
> )"/>
>
> or the same expression for the iterate.
>
> $groups is a sequence of maps we want to process for each "p" and
> including the "p" in each map of the sequence is what we need, not to
> merge the sequence of maps.
|