[xsl] node's full content + some modifications in that

Subject: [xsl] node's full content + some modifications in that
From: "Földényi Tamás" <ftomi@xxxxxxx>
Date: Wed, 21 Jul 2004 14:03:28 +0200
Hello,

I'm new in xslt.
I have an xml such as

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
 <cd>
  <artist><b>Eros</b> <tab/> Ramazzotti</artist>
 </cd>
</catalog>

I want to write out the full content of the node artist, but also want some
modificiation in that markup:
I wanna write out <b>Eros</b> &#160;&#160;&#160;&#160; Ramazotti. (convert
<tab /> to some non-breaking space)
I figured out that <xsl:copy-of> echo the full content of a node, but in
this case, there is no way to do more modification in it, at least I don't
know how to do it. So my current version writes out <b>Eros</b> <tab/>
Ramazzotti.

Current xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">
  <html>
  <body>
    <table>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td>
  <xsl:copy-of select="artist"/>
 </td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

In the artist node, there could be more nodes such as <i> <strike>, or
something totally differrent, and more special tags like <tab/> that I want
to convert to non breaking spaces, or something else.

Can you point me what to do?

Thanks, Thomas

Current Thread