Subject: [xsl] xml fragment to string From: Steven Hentschel <steven.hentschel@xxxxxxxxx> Date: Wed, 30 Jun 2010 11:04:35 +0100 |
I'm trying to find a way of converting an xml fragment into a string. The reason for wanting to do this is so that the fragment can be stored in an RDBMS as a string and I need to escape any apostrophes for the sql statement. My method that seems to work with the content that I have is to do the following: <xsl:variable name="xmlAsString" as="xs:string+"> <xsl:apply-templates> </xsl:variable> <!-- template to turn xml fragment into strings --> <xsl:template match="*"> <xsl:value-of select="concat('<', name())"/> <xsl:for-each select="@*"> <xsl:value-of select="concat(' ', name(), '="', .,'"')"/> </xsl:for-each> <xsl:value-of select="'>'"/> <xsl:value-of select="text()"/> <xsl:apply-templates select="*"/> <xsl:value-of select="concat('</', name(), '>')"/> </xsl:template> then to output the text (using replace() to escape apostrophes replace(string-join($xmlAsString, ''), '''', '''''') Are there are other better approaches? Is there a way of dealing with mixed content? Steven Hentschel
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Recursive function proble, Emmanuel Bégué | Thread | Re: [xsl] xml fragment to string, Martin Honnen |
Re: [xsl] Recursive function proble, David Carlisle | Date | Re: [xsl] Recursive function proble, Nic Gibson |
Month |