<xsl:if test="(name() = pubdate or dc:date)">
that tests the name() against the content of a pubdate child
and then coerces the result to "true" or false" string and
tests that against the content of a dc:date child.
You want
<xsl:if test ="self::pubdate or self::dc:date">
<xsl:when test="name() = pubdate">
that tests the name against the string value of a pubdate child,
you meant
<xsl:when test="name() = 'pubdate'">
but you are better to do
<xsl:when test="self::pubdate">
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list