The first method never succeeds so the default template is applied. The
default template for a text node copies text nodes to the output. The second
template succeeds in matching the <template match=”item”> and fails on the
<xsl:if test=”(_at_)distribution!='both'”> so the default template is never
applied.
Edward Middleton
-----Original Message-----
From: john liao [mailto:jliao2k(_at_)yahoo(_dot_)com]
Sent: Tuesday, January 14, 2003 11:49 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] difference btw match="item[(_at_)distribution!='both']" and
test="@distribution!='both"
Hi list
I found the two methods yield slightly different
results w.r.t <![CDATA]>. In the first template match
the contents of CDATA is produced, but the <xsl:if
test method does not produce it. What's the
difference?
"item" looks like this:
<item distribution="both">
<![CDATA
contents of CDATA
]]
</item>
and the templates look like this:
<xsl:template match="item[(_at_)distribution!='both']"
...
...
</xsl:template> ==> contents of CDATA show up
<xsl:template match="item">
<xsl:if test="@distribution!='both'">
...
...
</xsl:if>
</xsl:template> ==> produces nothing (which is
what I want)
=====
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list