Re: [xsl] Looking for a shorter mapping expression

Subject: Re: [xsl] Looking for a shorter mapping expression
From: Dimtre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sun, 5 Dec 2004 19:24:13 +1100
Because, according to the XPath 2.0 spec:

"only the last step in a path is allowed to return a sequence of atomic values."

http://www.w3.org/TR/xpath20/#id-path-expressions

Even the last E2 in a path expression should evaluate either to a
sequence of nodes or a sequence of atomic values, but not a mixture of
the two... I find this unreasonably restrictive and wonder why it was
decided so.

Also, read page 208 of Mike's book.


Cheers,
Dimitre.


On 05 Dec 2004 08:07:54 +0000, Colin Paul Adams
<colin@xxxxxxxxxxxxxxxxxx> wrote:
> >>>>> "Dimtre" == Dimtre Novatchev <dnovatchev@xxxxxxxxx> writes:
> 
>    Dimtre> Hi, Could someone, please, suggest a more compact
>    Dimtre> expression, equivalent to the value of the "select"
>    Dimtre> attribute below:
> 
>    Dimtre>       <xsl:sequence select= "for $this in $pList1 return
>    Dimtre>                                     f:apply($pFun, $this)" />
> 
>    Dimtre> It seems to me that this is illegal:
> 
>    Dimtre>      $pList1/ f:apply($pFun, .)
> 
>    Dimtre> because $pList1 in general may contain atomic items (not
>    Dimtre> nodes).
> 
> Why should that make it illegal? You have two primary expressions (a
> variable reference and a function call) on either side of a /, so it
> looks like a valid relative path expression to me.
> --
> Colin Paul Adams
> Preston Lancashire

Current Thread