Introduction | |
EXSLT Extensions | |
Extension attributes (XSLT only) | |
Additional serialization parameters | |
ยป | Extension functions |
The Map Extension | |
Extension instructions | |
Introduction | |
EXSLT Extensions | |
Extension attributes (XSLT only) | |
Additional serialization parameters | |
ยป | Extension functions |
The Map Extension | |
Extension instructions | |
saxon:leading($input as item()*) ==> item()*
saxon:leading($input as item()*, $test as function()) ==> item()*
This function returns a sequence containing all those nodes from $input
up to and excluding the
first one (in order of the input sequence) for which $test has an effective boolean
value of false.
A function may be obtained in XQuery 1.1 using any of the new mechanisms for constructing
functions; in other
environments, it may be obtained by calling saxon:function.
The $test
argument defaults to the function fn:data#1
, that is, it atomizes the item.
The $test
function is evaluated for item in $input in turn, with that item supplied as the
argument
to the function. The result consists of that leading sequence of items for which the
effective boolean value of
the function is true.
XQuery 1.1 example:
saxon:leading(following-sibling::*, function($x){$x/self::para})
XSLT 2.0 example:
saxon:leading(following-sibling::*, saxon:function('f:is-para', 1)
where f:is-para
is a user-defined function that tests whether the supplied item is a
<para>
element
This will return
the <para>
elements following the current node, stopping at the first element that is not a
<para>
.
Note: this function is quite different from the EXSLT leading() function, though both fulfil a similar purpose.