Subject: Re: [xsl] Find the root element from an attribute node From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Thu, 10 Jul 2008 16:32:37 +0100 |
>> What you've done should be fine, but its slow to walk the ancestor >> axis to the root element each time, so just do: >> >> <xsl:variable name="isHTML" select="exists(/html)" as="xs:boolean"/> >> >> and then: >> >> match="@href[$isHTML]" > > This code is based on the assumption that xsl:apply-templates is called > for the input tree only, and not for any other loaded or constructed. Ok, I guess that could be a gotcha... in which case, just do: match="@href[exists(/html)]" It's funny how this has come up - I've just left a place where they had two types of XML - one with <page> for the root element, the other with <response>, and throughout the code, all over the place, they had choose/when's with [ancestor::page] and [ancestor::response]... so I changed it all to use global variables instead. The gotcha didn't occur to me at the time.... I think they will be alright though :) -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Find the root element fro, vladimir@xxxxxxxxxxx | Thread | Re: [xsl] Find the root element fro, Vyacheslav Sedov |
Re: [xsl] Find the root element fro, vladimir@xxxxxxxxxxx | Date | Re: [xsl] Windows-style CRLF in tex, Abel Braaksma |
Month |