Am 18.08.2020 um 19:56 schrieb Terry Ofner tdofner@xxxxxxxxx:
Hmm. The map:merge appears to fiddle with the ?letter and the ?term. It
appears that the position() is coming from the $groups map. Not sure why
the letter is stuck on S and the term on sentence. Do I need an argument
within the map merge to tell how to merge the two?
<xsl:iterateselect="for $p in p[@class = 'nl'] return $groups !
map:merge(($groups, map { 'p' : $p }))">
<xsl:text> </xsl:text>
<write_choiceB spanNum="{position() - 1}"letter="{?letter}"
B B B B B B B B B B B B B B term="{?term}"ans="{?p}"/>
</xsl:iterate>
I got the select wrong again, the following hopefully does what I tried
to implement:
<xsl:apply-templates
select="for $p in p[@class = 'nl']
return $groups
!
map:merge(
(.,
map { 'p' : $p })
)"/>
|