xsl-list
[Top] [All Lists]

Re: [xsl] Find the root element from an attribute node

2008-07-11 03:27:48
what about just match="@href[/html]" ?

On Thu, Jul 10, 2008 at 7:32 PM, Andrew Welch 
<andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
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/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>