Subject: Re: Applying templates only to certain part of the tree From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 17 May 2000 13:49:43 +0100 (BST) |
X-Originating-IP: [212.252.1.73] From: "Nuri Besen" <nb_news@xxxxxxxxxxx> Date: Wed, 17 May 2000 08:28:56 EDT Sender: owner-xsl-list@xxxxxxxxxxxxxxxx Precedence: bulk Reply-To: xsl-list@xxxxxxxxxxxxxxxx Content-Type: text/plain; format=flowed Content-Length: 831 Hello, I am trying the following, and it does not compile but: <xsl:template match="/"> <xsl:apply-templates select="main and not(main//TestSec)"/> <xsl:apply-templates select="main//TestSec"/> </xsl:template> where I want to apply the templates for everything under the "main" section but excluding the TestSec. <xsl:apply-templates takes a select expression that must return a node set. "main and not(main//TestSec)" is a boolean valued expression that just returns true or false. The following works but applies the TestSec templates twice, naturally. <xsl:template match="/"> <xsl:apply-templates select="main"/> <xsl:apply-templates select="main//TestSec"/> </xsl:template> What is the correct method to exclude a part of the tree? It depends what you want to do select="main//*[not(self::TestSec)" and select="main//TestSec" do what you are apparently trying to do, which is select all nodes below main, firstly those that are not called TestSec and then those that are. However I suspect that isn't what you want to do. It flattens the document tree, and if any template for any node that is selected by select="main//*[not(self::TestSec)" calls xsl:apply-templates in the usual way, selecting its children, then TestSec will end up being processed twice anyway. If you want to process the tree missing out TestSec, then process them later you probably want <xsl:apply-templates select="main"/> <xsl:for-each select="main//TestSec"> ... </xsl:for-each> ... <xsl:template match="TestSec"/> David XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Applying templates only to cert, Sebastian Rahtz | Thread | RE: Applying templates only to cert, Bjorn Boxstart |
Re: Applying templates only to cert, Sebastian Rahtz | Date | RE: xsl Books, Laurie Mann |
Month |