Option A is fine. (This is nothing really to do with function items, the
answer would be the same if you were talking about a sequence containing
elements and text nodes...)
"treat as" is never needed in systems that do dynamic type checking. It
makes an assertion about the dynamic type which basically tells a static
type system to defer type checking till run-time. But as far as I know
all XSLT 2.0 processors do this anyway without being asked. There are a
few XQuery processors that don't (e.g. the one from Microsoft), but they
aren't widely used.
Michael Kay
Saxonica
On 01/11/2012 01:32, sean(_at_)seanbdurkin(_dot_)id(_dot_)au wrote:
Suppose that $state is a sequence which contains, among other things,
at least one function item with signature...
function(element(square)*) as element(square)*
Which is the correct and safe way to store a reference to this
function in a variable?
Is it OPTION A?
<xsl:variable name="compute-possible-moves"
select="$state[. instance of function(*)][1]"
as="function(element(square)*) as element(square)*">
... OR OPTION B?
<xsl:variable name="compute-possible-moves"
select="$state[. instance of function(*)][1]
treat as function(element(square)*) as
element(square)*"">
... OR OPTION C?
<xsl:variable name="compute-possible-moves"
select="$state[. instance of function(*)][1]
treat as function(element(square)*) as element(square)*"
as="function(element(square)*) as element(square)*">
My best estimate at the moment, would be option A, but I am not really
sure about it.
Faithfully,
Sean B. Durkin
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--