Subject: Re: [xsl] not matching empty text nodes. From: Joerg Heinicke <joerg.heinicke@xxxxxx> Date: Sun, 09 Feb 2003 09:38:46 +0100 |
Ross Ken wrote:
TryThis works very well :-)
xsl:template match="/album/photos/photo/caption[text()!='']"
The only problem is, some of the non-empty text nodes are nothing but whitespace.
to fix the problem I did this.
xsl:template match="photo/*[text()!=''][count(*)=0]"
<photo> <anyelement> text </anyelement> </photo>
<photo> <anyelement> <anotherelement/> </anyelement> </photo>
<photo> <anyelement> text <anotherelement/> </anyelement> </photo>
That's because all the text nodes I want to capture don't have any other sub-elements (ie. it's plain text, not markup).
I tried using <xsl:strip-space elements="*" /> but it seemed to have no effect on the sablotron processor.
This works a treat :-)
and
<xsl:template match="/album/photos/photo/*[text()!='']">
<tr valign="top">
<td class="label" align="right"><xsl:value-of select="name()"/>:</td>
<td class="caption"><xsl:value-of select="." /></td>
</tr>
</xsl:template>
Thanks. Most helpfull indeed.
I've made several modifications based on a similar thing.
<xsl:template match="photo/*[text()!=''][count(*)=0]"> <tr valign="top"> <td class="label" align="right"><xsl:value-of select="name()"/>:</td> <td class="{name()}"><xsl:value-of select="." /></td> </tr> </xsl:template>
<xsl:template match="photo/*[@name!='']"> <tr valign="top"> <td class="label" align="right"><xsl:value-of select="name()"/>:</td> <td class="{name()}"><xsl:value-of select="@name" /></td> </tr> </xsl:template>
<xsl:template match="photo/*[@year!='']"> <tr valign="top"> <td class="label" align="right"><xsl:value-of select="name()"/>:</td> <td class="{name()}"> <xsl:value-of select="@day" />/<xsl:value-of select="@month" />/<xsl:value-of select="@year" /> - <xsl:value-of select="@hour" />:<xsl:value-of select="@min" /> </td> </tr> </xsl:template>
This has reduced the size of my sheet signifigantly and there is less modification in the event of a schema change.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] not matching empty text n, Terence | Thread | Re: [xsl] not matching empty text n, Terence |
Re: [xsl] runaway template applicat, Terence Kearns | Date | [xsl] validation of xslt stylesheet, florian |
Month |