xsl-list
[Top] [All Lists]

RE: match nodes based on given path

2003-04-11 01:06:38

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