[xsl] Re: [saxon] How can an empty array be an instance of an array that contains something?

Subject: [xsl] Re: [saxon] How can an empty array be an instance of an array that contains something?
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 28 Aug 2020 08:42:56 -0000
It's the old paradox of universal quantification applied to an empty set: when
there are no unicorns, "every unicorn has one horn" and "every unicorn has
three horns" are both true. Bertrand Russell used the example "The present
King of France is bald" (https://en.wikipedia.org/wiki/Definite_description).

> [] instance of array(xs:string)

is true if every member of array is of type xs:string, and under the usual
conventions of predicate logic, that statement is true when the array has no
members.

Michael Kay
Saxonica

> On 28 Aug 2020, at 09:32, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote:
>
> This returns true for xs:string and xs:integer
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform
<http://www.w3.org/1999/XSL/Transform>"
> xmlns:xs="http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema>"
>                 xmlns:array="http://www.w3.org/2005/xpath-functions/array
<http://www.w3.org/2005/xpath-functions/array>"
>                 xmlns:map="http://www.w3.org/2005/xpath-functions/map
<http://www.w3.org/2005/xpath-functions/map>"
>                 version="3.0" expand-text="yes"
exclude-result-prefixes="array map xs">
>    <xsl:template name="xsl:initial-template">
>   {[] instance of array(xs:string)}
>    </xsl:template>
> </xsl:stylesheet>
>
> Getting this on saxon 10.1
> _______________________________________________
> saxon-help mailing list archived at http://saxon.markmail.org/
> saxon-help@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/saxon-help

Current Thread