|
Subject: Re: [xsl] optimization of complex XPath From: Liam R E Quin <liam@xxxxxx> Date: Thu, 18 Nov 2010 20:29:58 -0500 |
On Thu, 2010-11-18 at 20:20 -0500, Graydon wrote:
[...]
> I am currently using the XPath expression:
>
> for $x in (//link[@area='decisions']/@cite) return
> (if ($x = (//num/@cite))
> then 'good'
> else concat('bad cite value ',$x,'
')
> )
>
> to check the links.
[..]
> How can I make this check faster?
Since this is xsl-list, I'll note that xsl:key is generally a good
way to make this faster.
In XQuery you could try making a sequence of all the distinct
link/@cite values and all the distinct num/@cite values, and then
find the set difference (XQuery use cases has a similar example,
I think) and then process only those -- this assumes that most of
the links are correct.
It's also sometimes worth trying more implementations - your 2G of
data is too much for the zero-dollar qixz-fe, but maybe BaseX could
handle it.
Liam
PS: 
 is the same as 
 although that change won't make a
measurable performance difference :-)
--
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org www.advogato.org
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] optimization of complex XPath, Graydon | Thread | Re: [xsl] optimization of complex X, Wolfgang Laun |
| [xsl] optimization of complex XPath, Graydon | Date | Re: [xsl] Selecting the node which , Mukul Gandhi |
| Month |