Subject: Re: [xsl] Using xsl:iterate inside <xsl:for-each-group> xslt 3.0 From: "Terry Ofner tdofner@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 18 Aug 2020 17:04:12 -0000 |
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.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Using xsl:iterate inside , Martin Honnen martin | Thread | Re: [xsl] Using xsl:iterate inside , Terry Ofner tdofner@ |
Re: [xsl] Using xsl:iterate inside , Martin Honnen martin | Date | Re: [xsl] Using xsl:iterate inside , Terry Ofner tdofner@ |
Month |