Your solution of generating a path for each element and checking it
against the given path is not only incredibly inefficient, it's also
plain wrong. For any node, there are an infinite number of possible
paths that select it.
Yes indeed thats why I was looking for a better solution ;) However I was
assuming that if the path was produced by saxon:path() in the link file, and
then tested against saxon:path() in the transform, the two would be equal (some
kind of normalised path), and so it possibly isnt *that* wrong...
I think generating a stylesheet that uses David's key based approach is the way
to go here. Thanks for all the input.
cheers
andrew
-----Original Message-----
From: Michael Kay [mailto:mhk(_at_)mhk(_dot_)me(_dot_)uk]
Sent: 10 April 2003 23:39
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] match nodes based on given path
<link path="/root/node/value"/>
This is more tricky than it initally looks. I'm currently
using an importing stylesheet that tests every element's path
against those in the parameter, which is far from efficient
and requires the paths to be in some kind of normal form.
If you want to manipulate paths held in strings at run-time, then you
need the xx:evaluate() extension.
Your solution of generating a path for each element and checking it
against the given path is not only incredibly inefficient, it's also
plain wrong. For any node, there are an infinite number of possible
paths that select it.
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.470 / Virus Database: 268 - Release Date: 08/04/2003
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.470 / Virus Database: 268 - Release Date: 08/04/2003
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list