[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] generate an element only if the result is not empty
Subject: Re: [xsl] generate an element only if the result is not empty From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 25 Aug 2009 10:27:39 +0100 |
The template (using select="node()" and not select=".") <xsl:template match="seg"> <term> <xsl:value-of select="node()" /> That's a very strange construct to use, especially in xslt 1. node() selects all the children and then value-of discards all but the first, which means that if there are child elements as in your example you get just the first indentation white space if there is any, however if the first child had not been indented you would get the string value of the first element. <seg> <it></Title></it> <bpt i="1" type="struct"><Elt type='Groupbox' id='242' coor='0,0,412,112' style='50020007,0' class='#FF#0080'></bpt> </seg> produces <term> </term> but <seg><it></Title></it> <bpt i="1" type="struct"><Elt type='Groupbox' id='242' coor='0,0,412,112' style='50020007,0' class='#FF#0080'></bpt></seg> produces <term>></Title></term> If I understand your requirement it is to ignore any seg elements with element content, but to make a term element for those that have non white space text content. so just <xsl:apply-templates select="seg"/> with <xsl:template match="seg[*]"/> <xsl:template match="seg[not(normalize-space(.))]"/> <xsl:template match="seg"> <text><xsl:value-of select="."/></text> </xsl:template> David ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] generate an element only if t, Manuel Souto Pico | Thread | Re: [xsl] generate an element only , Manuel Souto Pico |
[xsl] generate an element only if t, Manuel Souto Pico | Date | RE: [xsl] generate an element only , Michael Kay |
Month |
Keywords