Re: [xsl] Why? A function that computes atomic values should use xsl:sequence rather than xsl:value-of

Subject: Re: [xsl] Why? A function that computes atomic values should use xsl:sequence rather than xsl:value-of
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 31 Mar 2020 13:56:44 -0000
Am 31.03.2020 um 15:40 schrieb Costello, Roger L. costello@xxxxxxxxx:


I have a function that returns a xs:boolean. I used xs:value-of to return
the value. Saxon 9.9.1.5 gives this warning message:

A function that computes atomic values should use xsl:sequence rather than xsl:value-of

Why?

Why should a function use xsl:sequence?

xsl:value-of is an XSLT 1.0 construct that keeps its semantics in 2.0 and 3.0, it creates a text node with the string value of the selected expression.

Thus, if you want to return a boolean value computed in the selected
expression, use

<xsl:sequence select="..."/>

as that will return that boolean value and not create and return a text
node with the string representation of the boolean value (that might be
casted back to a boolean if your `xsl:function` also declares
`as="xs:boolean"`).

Current Thread