Re: [xsl] How to code with relative context: "if the next node <ns3:ddd></ns3:ddd> is not empty then ....."

Subject: Re: [xsl] How to code with relative context: "if the next node <ns3:ddd></ns3:ddd> is not empty then ....."
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Thu, 05 Nov 2009 19:01:17 +0100
Ben Stover wrote:
I would like to copy something to the target XML doc context (!) depending from the value of a node on the same level.

It should all look similar to the following pseudo code:

...assume we are on level/inside <aaa><bbb><ccc>
<xs:if <ddd>...</ddd> contains a non-whitespace value then>
  <mytext>yes value found<mytext>
<xs:else>
  <myothertext>no value found</myothertext>
</xs:if>
...
</ccc>...</bbb>....</aaa>

How can I code this with XSLT ?

Again: If possible the condition should be context dependent. I don't want to code
the full XPath  /aaa/bbb/ccc/ddd in the "if" clause.
Instead the XPath expression should be relative to the current position

Well if you have <xsl:template match="ccc"> or maybe <xsl:template match="aaa/bbb/ccc"> then in that template you can certainly use <xsl:choose> <xsl:when test="ddd[normalizes-space()]"> <mytext>yes value found<mytext> </xsl:when> <xsl:otherwise> <myothertext>no value found</myothertext> </xsl:otherwise> </xsl:choose>

--

	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/

Current Thread