RE: [xsl] insert default node if it doesn't exist

Subject: RE: [xsl] insert default node if it doesn't exist
From: Jarno.Elovirta@xxxxxxxxx
Date: Tue, 10 Sep 2002 09:34:09 +0300
Hi,

> I've tried with this XSLT. Problem is that since the match 
> doesn't find <c> for the 2nd both for b and g, I'll get a <c> 
> for everyone of them. How can this be solved?
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 	<xsl:output method="xml" version="1.0" encoding="UTF-8" 
> indent="yes"/>
> 	
> 	<xsl:template match="a/*">
> 			<xsl:copy>
> 				<xsl:apply-templates 
> select="@*|node()"/>			
> 		</xsl:copy>
> 		<xsl:if test="not(../c)">
> 			<c>0</c>			
> 		</xsl:if>
> 	</xsl:template>

try

<xsl:template match="a[not(c)]">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    <c>0</c>
  </xsl:copy>  
</xsl:template>

Jarno - In Strict Confidence: Zauberschloss (Mechanical Fairy Tale remix)

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread