Subject: Re: [xsl] processing text nodes one character at a time From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Tue, 26 Sep 2006 22:38:11 +0530 |
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/"> <xsl:call-template name="TransformString"> <xsl:with-param name="string" select="element" /> </xsl:call-template> </xsl:template>
<xsl:template name="TransformString"> <xsl:param name="string" />
<xsl:if test="string-length($string) > 0"> <xsl:text>x</xsl:text><xsl:value-of select="substring($string, 1, 1)" /> <xsl:call-template name="TransformString"> <xsl:with-param name="string" select="substring($string, 2)" /> </xsl:call-template> </xsl:if> </xsl:template>
<?xml version="1.0" encoding="UTF-8"?> <element>abcd</element>
I am transforming xml data into our type-setters proprietary data format. I use XSLT 2.0 for the purpose. In special cases, I need to process text nodes one character at a time: the string must be copied to the output, but with a code (let's call it "x") inserted before each character.
Thus, the input: <element>abcd</element>
should lead to the output: "xaxbxcxd"
I think I need some combination of a for-loop and a substring-function that selects the characters one by one (or maybe this can be solved using a regex). I just can't get it right... Any suggestions?
Marie Bilde Rasmussen, Gyldendal Publishers, Dictionary Department Copenhagen, Denmark
-- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] processing text nodes one, David Carlisle | Thread | Re: [xsl] processing text nodes one, Dimitre Novatchev |
[xsl] Blindstaring on descendent(-o, Abel Braaksma | Date | Re: [xsl] Blindstaring on descenden, Abel Braaksma |
Month |