|
Subject: RE: [xsl] Using copy to change a node, whilst retaining the attributes From: "John Reid" <John.Reid@xxxxxxxxxxxxxxx> Date: Tue, 5 Aug 2003 14:16:01 +1000 |
Tried the below but this does not copy across the attributes. The
problem I am having is that there seems many ways to skin this cat, but
I cannot get any of them to work, sigh. Could I have a go at restating
my problem. I want to change the text value of a node(depending on a
test) whilst retaining the attributes.
My Input looks like this
<player pword="843208">
<dates>
<yes ID="20030722" WE="Tu">A</yes>
<yes ID="20030729" WE="Tu">A</yes>
<yes ID="20030805" WE="Tu">A</yes>
<yes ID="20030809" WE="Sa">D</yes>
<yes ID="20030810" WE="Su">D</yes>
<yes ID="20030812" WE="Tu">D</yes>
<yes ID="20030819" WE="Tu">A</yes>
<yes ID="20030826" WE="Tu">A</yes>
</dates>
</player>
The Output needed is:
<player pword="843208">
<dates>
<yes ID="20030722" WE="Tu">A</yes>
<yes ID="20030729" WE="Tu">A</yes>
<yes ID="20030805" WE="Tu">A</yes>
<yes ID="20030809" WE="Sa">C</yes>
<yes ID="20030810" WE="Su">C</yes>
<yes ID="20030812" WE="Tu">C</yes>
<yes ID="20030819" WE="Tu">A</yes>
<yes ID="20030826" WE="Tu">A</yes>
</dates>
</player>
<xsl:template match="player/dates/yes">
<xsl:copy>
<xsl:choose>
<xsl:when test="ancestor::player/@pword=$pmkey">
<xsl:value-of select="$type"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
</xsl:copy>
</xsl:template>
<xsl:template match="player/dates/yes/@ID">
<xsl:copy>
<xsl:value-of select="."/>
</xsl:copy>
</xsl:template>
<xsl:template match="player/dates/yes/@WE">
<xsl:copy>
<xsl:value-of select="."/>
</xsl:copy>
</xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Using copy to change a no, John Reid | Thread | Re: [xsl] Using copy to change a no, David Carlisle |
| RE: [xsl] How to process individual, Lars Huttar | Date | Re: [xsl] CSS, Jarkko Moilanen |
| Month |