[xsl] Required item type of value of variable $images is element(); supplied value has item type text()

Subject: [xsl] Required item type of value of variable $images is element(); supplied value has item type text()
From: "Martynas Jusevičius martynas@xxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 31 Mar 2019 18:59:58 -0000
Hi,

I have a simple snippet like this

        <xsl:variable name="images" as="element()*">
            <xsl:apply-templates mode="ac:image"/>
        </xsl:variable>

Sometimes the ac:image templates will return an <img> element,
sometimes nothing.

In the case where there are no elements in the variable, I get an error

    Required item type of value of variable $images is element();
supplied value has item type text()

When I output the text, it's just whitespace.

The element() cardinality is *, so why can't the processor just
suppress the whitespace and treat the variable content as zero
elements?

The processor is Saxon-CE BTW.

Martynas
atomgraph.com

Current Thread