[exslt] Underspecified interaction between node-set() and key() function
Jirka Kosek
jirka at kosek.cz
Tue Dec 2 01:37:20 MST 2003
Hi,
it seems that description of node-set() function doesn't precisely
specify how the output of the function should be considered when used
together with id() and key() functions.
E.g. Saxon can evaluate key() over nodes returned from node-set()
function as far as current node is from the node-set() result when key()
is invoked. Saxon behaves here as if the result of node-set() is a new
document which is covered by xsl:key index.
However xsltproc doesn't consider result of node-set() as a new document
and key() function then fails and returns nothing.
I propose to extended node-set() function specification to state that
result of node-set() should be considered as a new document which is
similar to result of document() function in this sense. Then key()
should work over nodes returned from node-set() as long as the current
node is from the same temporal document returned by node-set().
To see some rationales for what this is useful see:
http://sources.redhat.com/ml/docbook/2003-07/msg00177.html
The problem is that profiling feature of stylesheet does in fact two
pass processing. The first pass does just filtering. Result from first
pass is turned by node-set() back to the nodeset and actual processing
is done on this nodeset. This processing includes cross reference
evaluation which is based on key() function.
Jirka
--
-----------------------------------------------------------------
Jirka Kosek
e-mail: jirka at kosek.cz
http://www.kosek.cz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3403 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.fourthought.com/pipermail/exslt/attachments/20031202/ea7e31a2/smime.bin
More information about the exslt
mailing list