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>