2005/9/12, Joris Gillis <roac(_at_)pandora(_dot_)be>:
Hi,
On Mon, 12 Sep 2005 15:10:46 +0200, knocte <knocte(_at_)gmail(_dot_)com>
wrote:
I am trying to figure out if it is possible to make a XSLT
transformation which could receive this XML file:
<page>
<p>
<label for="txtElement" accesskey="a">
Name:
</label>
<input type="text" id="txtElement" />
</p>
</page>
And transform it to the following, inserting a <span> tag inside a
specific position of a string:
<html>
<head><title></title></head>
<body>
<p>
<label for="txtElement" accesskey="a">
N<span class="accesskey">a</span>me:
</label>
<input type="text" id="txtElement" />
</p>
</body>
</html>
Is this possible?
Absolutely,
Here's a working example solution:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:variable name="version" select="/xsl:stylesheet/@version"/>
<xsl:template match="/">
<html>
<head><title></title></head>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="page">
<body><xsl:apply-templates/></body>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[(_at_)accesskey]/text()[contains(.,../@accesskey)]">
<xsl:value-of select="substring-before(.,../@accesskey)"/>
<span class="accesskey"><xsl:value-of select="../@accesskey"/></span>
<xsl:value-of select="substring-after(.,../@accesskey)"/>
</xsl:template>
</xsl:stylesheet>
Thanks!! It works flawlessly.
Andrew [ knocte ]
--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--