xsl-list
[Top] [All Lists]

Re: not matching empty text nodes.

2003-02-08 19:41:30
Ross Ken wrote:

Try

xsl:template match="/album/photos/photo/caption[text()!='']"

This works very well :-)

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]"

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.


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>

This works a treat :-)

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/*[(_at_)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/*[(_at_)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.




XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list