Subject: [xsl] insert default node if it doesn't exist From: Thomas Olausson <thomas.olausson@xxxxxxx> Date: Tue, 10 Sep 2002 02:04:11 +0200 |
I always have trouble with xslt when processing something once: Ia certain child doesn't exists, I'd like to insert a default value: Like the one below. The 2nd 'a' should after processing include a <c>0</c> (since it doesn't have it). before: <data> <a> <b>100</b> <c>120</c> </a> <a> <b>100</b> <g>300</g> </a> </data> after: <data> <a> <b>100</b> <c>120</c> </a> <a> <b>100</b> <g>300</g> <c>0</c> </a> </data> 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> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> /Thomas XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Looking for a book recomm, G. Ken Holman | Thread | RE: [xsl] insert default node if it, Michael Kay |
Re: [xsl] XSL transform escape ques, David Carlisle | Date | Re: RE: [xsl] Looking for a book re, Salvatore Mangano |
Month |