Re: [xsl] determining node position by the content of a text node

Subject: Re: [xsl] determining node position by the content of a text node
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 12 Sep 2005 12:55:27 +0100
If I understand you correctly you don't need the current position, you
just need the preceding element, which is
preceding-sibling::*[1]

To look up the replacement word you would be best to use a key (which is
desined for exctly this use)

<xsl:key name="en2de" match="wort[@xml:lang='de']"use="../wort[@xml:lang='en']"/>

template that replaces any english text that has a German dranslation

<xsl:template match="text()">
<xsl:variable name="t" select="."/>
  <xsl:for-each select="document('dict.xml')">
  <xsl:choose>
   <xsl:when test="key('en2de',$t)
  <xsl:value-of select="key('en2de',$t)"/>
  </xsl:when>
  <xsl:otherwise>
  <xsl:value-of select="$t"/>
  </xsl:otherwise>
  </xsl:choose>
</xsl:template>

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. 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