Re: [xsl] Tag's depending on cousin element

Subject: Re: [xsl] Tag's depending on cousin element
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 10 Jul 2003 09:42:11 +0100

> First, I don't know if the test will function at all since they are empty 
> elements.

A test requires a boolean, if you give it a node set (as here) it is
true if the node set is non empty, it doesn't matter what the nodes are
(they may be empty elements)

> If they work, how would I (in future) be able to test if the element is 
> empty?

this is a FAQ (the faq for this list has several solutions depending on
what you mean by empty) test="node()" tests if the current element has
children which is the cannonical definition of empty.


probably you want something 


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
>



<xsl:template match="lv">
<lv>
<xsl:apply-templates select="declaration"/>
</lv>
</xsl:template>

<xsl:template match="declaration">
  <xsl:param name="state" select="../state/*"/>
<xsl:choose>
<xsl:when test="$state">
<xsl:element name="{name($state[1])}">
<xsl:apply-templates select=".">
  <xsl:with-param name="state" select="$state[position()&gt;1]"/>
</xsl:apply-templates>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="node()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

</xsl:stylesheet>

________________________________________________________________________
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


Current Thread