Subject: [xsl] passing filtered tree to template From: Stefan Hunziker <stefan@xxxxxxxxxxxxx> Date: Mon, 6 Jun 2011 17:56:45 +0200 |
Hi I have the following problem: Given an xml like the following: <test> <items> <item> <index>1</index> <property>x</property> </item> <item> <index>2</index> <property>y</property> </item> <item> <index>3</index> <property>x</property> </item> </items> </test> and a stylesheet like: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="test"> <myTest> <xsl:variable name="xItems"> <xsl:copy-of select="items"/> </xsl:variable> <xsl:apply-templates select="items[item/property='y']"/><!-- wrong try! --> </myTest> </xsl:template> <xsl:template match="items"> <xsl:for-each select="item"> <myItem> <xsl:value-of select="index"/> </myItem> </xsl:for-each> </xsl:template> </xsl:stylesheet> I would like to pass only the items with property='x' to the items matching template. The first try as written above of course doesn't work, if there is an x item then the whole tree is passed, if there is none, nothing is passed. I do further processing in the items template, so I don't want to change it to match="item" or to apply the filter in the items template. Any help is much appreciated! thanks, kind regards Stefan
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: replace() and transla, Michael Kay | Thread | Re: [xsl] passing filtered tree to , Abel Braaksma |
Re: [xsl] Hexadecimal character ref, Michael Kay | Date | Re: [xsl] passing filtered tree to , Abel Braaksma |
Month |