Actually, it should say "functions" rather than "function items" since XDM 3.0
renamed function items as functions.
The intended meaning of the phrase is "The value of the variable must not be a
sequence one of whose items is a function", or perhaps more formally, if $V is
the value of the variable then the expression
some $v in $V satisfies $v instance of function(*)
must be false.
This is because it is not possible to determine whether two functions are "the
same"
Michael Kay
Saxonica
mike@xxxxxxxxxxxx
+44 (0) 118 946 5893
On 22 Nov 2014, at 22:04, Dimitre Novatchev dnovatchev@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> In section 9.6 "Static Variables and Parameters" of the 2nd Last Call
> of the XSLT 3.0 specification,
> (http://www.w3.org/TR/2014/WD-xslt-30-20141002/#static-params), the
> second of the two additional constraints listed, says:
>
> "... and (b) if the variables are initialized (that is, if the
> elements are xsl:variable elements, or if they are xsl:param elements
> and no value for the parameter is externally supplied) then the values
> of both variables must be identical, and must not contain function
> items."
>
> It is not clear to me what is the exact meaning of the phrase "must
> not contain function items". I see several possible meanings:
>
> 1. Must not contain references to functions. (This seems unlikely,
> because a static expression can contain references to functions -- but
> maybe just in the case of static variables conflict this is
> forbidden?)
>
> 2. Must not contain references to any <xsl:function> (an xsl-function
> only, not any function)
>
> 3. Must not contain a definition of an inline function-item.
>
> Could someone, please, specify which of these three possible meaning
> is intended in the above phrase, or if none, then what is the intended
> meaning of this phrase?
>
> --
> Cheers,
> Dimitre Novatchev
|