I used Gerrit's example #3 and it works great. Thank you both.
On Sun, Mar 31, 2019 at 10:25 PM Michael Kay mike(_at_)saxonica(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
If the template that's invoked returns text nodes, then the type check
as="element()*" is going to fail. (The function conversion rules are invoked,
but removal of whitespace text nodes isn't a conversion that ever happens).
If you want to filter out whitespace text nodes, you'll have to do it
explicitly.
Michael Kay
Saxonica
On 31 Mar 2019, at 20:00, Martynas Jusevičius
martynas(_at_)atomgraph(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
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
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--