Re: [xsl] Filtering, xslt 2.0

Subject: Re: [xsl] Filtering, xslt 2.0
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 31 Oct 2022 18:41:14 -0000
On 10/31/2022 7:24 PM, Martin Honnen martin.honnen@xxxxxx wrote:
>
> On 10/31/2022 6:27 PM, Dave Pawson dave.pawson@xxxxxxxxx wrote:
>> On Mon, 31 Oct 2022 at 16:56, Martin Honnen martin.honnen@xxxxxx
>> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>>
>>
>>> On the command line, you prefix the parameter name with a question mark
>>> to indicate you provide an XPath expression on the right side of the
>>> "=".
>> [A reason I dislike 3.0]
>
>
> While I can't tell for sure that the "?param-name=expression" feature
> works for sure with one of the older Saxon versions that only implement
> XSLT/XPath 2.0 (i.e. 9.7 and earlier) I don't think it is in any way
> related to the XPath version 3, just an additional level of
> customization of the user interface of the Saxon command line the
> Saxonica guys introduced some time in the past. So not sure why
> mentioning that feature is related to your dislike of XSLT or XPath 3.0.
>

While I don't have an older version of Saxon around supporting "only"
XSLT/XPath 2.0 the documentation of 9.6 online in
https://www.saxonica.com/html/documentation9.6/using-xsl/commandline.html
with the below text clearly shows this was available in Saxon before
XSLT/XPath 3:


A/param/preceded by a leading question mark (|?|) is interpreted as an
XPath expression. For example,|?time=current-dateTime()|sets the value
of the stylesheet parameter|$time|to the value of the current date and
time, as an instance of|xs:dateTime|, while|?debug=false()|sets the
value of the parameter|$debug|to the boolean value|false|. If the
parameter has a required type (for example|<xsl:param name="p"
as="xs:date"/>|), then the supplied value must be compatible with this
type according to the standard rules for converting variable values and
function arguments. The static context for this XPath expression
includes only the standard namespaces conventionally bound to the
prefixes|xs|,|fn|,|xsi|, and|saxon|.

Current Thread