Subject: Re: [xsl] Required item type of value of variable $images is element(); supplied value has item type text() From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 31 Mar 2019 20:25:34 -0000 |
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 JuseviD ius martynas@xxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Required item type of val, Imsieke, Gerrit, le- | Thread | Re: [xsl] Required item type of val, Martynas Jusevičius |
Re: [xsl] Required item type of val, Imsieke, Gerrit, le- | Date | Re: [xsl] Required item type of val, Martynas Jusevičius |
Month |