In response to my query about searching for names when there are multiple
persnames in a single unittitle, several people suggested nested looping:
><xsl:for-each select="did">
> <xsl:for-each select="./unittitle/persname">
> <xsl:if test="contains(string(.) , $SearchName)">
> <xsl:call-template name="unittitle"/>
> </xsl:if>
> </xsl:for-each>
></xsl:for-each>
The trouble with this is that it changes the context so that my
unittitle template (which is used repeatedly in the stylesheet) won't work.
Here's my workaround:
<xsl:for-each select="did">
<xsl:variable name="GFI">
<xsl:for-each select="./unittitle/persname">
<xsl:if test="contains(string(.) ,
$SearchName)">
<xsl:text>Go For It</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:if test="$GFI='Go For It'">
<xsl:call-template name="unittitle"/>
</xsl:if>
</xsl:for-each>
This works but seems clumsy to me. Anyone have a better idea?
N.B. the unititle//persname syntax someone suggested doesn't find all the
persnames.
Thanks,
Bob Walser
Bob Walser [log in to unmask]
H: 1-612-377-9284 W: 1-612-374-4364
- - - - - - - - - -
|