[xsl] 'Mail-merge' type of problem: using placeholders in text for substitution

Subject: [xsl] 'Mail-merge' type of problem: using placeholders in text for substitution
From: "David" <gaudimila@xxxxxxxxx>
Date: Sat, 2 Oct 2004 13:51:31 -0400
I suppose this problem could be akin to a 'mail-merge' type situation where
place-holders represent data that should be substituted with the text of a
document.  I'm transforming to html (using Cocoon.)  I need any mention of
the U.S. state name (e.g. "California") to be inserted where the
<statename/> element is.  I don't know how to write the XSLT transformation
for this to work.  I put below my first stab at the XSLT code, but I know
it's incomplete. 

I think from an XSLT standpoint the problem relates to the fact that
<statename/> appears - potentially multiple times - within the 'text value'
(is that the right term?) of an element.  Although I've solved a lot of XSLT
problems before, I don't think I've ever had to code for a situation like
this. 

If I should be approaching this differently, please advise.

Thanks,
David

<doc>
       <body>
       <para>Summary of Laws for <statename/></para>
       <para>The laws in <statename/> are favorable to defendants.  If you
live in <statename/> then your outcome is secure.</para>
       </body>
</doc>


And XSLT of the form:

<xsl:template match="/doc">
            <html>
                  <xsl:apply-templates/>
            </html>
</xsl:template>
 
<xsl:template match="body">
            <body>
                  <xsl:apply-templates/>
            </body>
</xsl:template>
 
<xsl:template match="para">
            <p><xsl:apply-templates/></p> 
</xsl:template>
 
<xsl:template match="statename">
            <xsl:value-of select="$statename"/> 
</xsl:template>

Current Thread