Re: [xsl] variable question

Subject: Re: [xsl] variable question
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 31 Aug 2004 11:03:47 +0100
> No matter how I adjust the argument on the template below, I get the 
> same error. So I don't understand what's going on.

so you need to fall back on teh well known debugging technique of
adding priint statements (or using a real debugger)


You think that here:

<xsl:template match="mods:titleInfo" mode="title-before">
  <xsl:if test="mods:reftype(parent::mods:relatedItem) = 'chapter'">
    <xsl:text>"</xsl:text>
  </xsl:if>
</xsl:template>

the parent has to be mods:relatedItem, actually igf it was always that
you could just use
"mods:reftype(..) = 'chapter'"
the only reason ever to use parent::foo rather than .. is to __allow__
the geneartion of an empty node set (sequence in 2.0) if teh parent is
of a different type.

However teh system doesn't agree with you, there's no point in asking us
to guess, just find out what it is:

<xsl:template match="mods:titleInfo" mode="title-before">
  <xsl:choose>
  <xsl:when test="not(parent::mods:relatedItem)">
<xsl:message>
parent is [[<xsl:value-of select="name(..)"/>]]
<xsl:message>
  </xsl:when>
  <xsl:otherwise>
  <xsl:if test="mods:reftype(parent::mods:relatedItem) = 'chapter'">
    <xsl:text>"</xsl:text>
  </xsl:if>
  </xsl:otherwise>
  <xsl:choose>
</xsl:template>

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
________________________________________________________________________

Current Thread