|
Subject: [xsl] Why does my XSLT produce a Warning message with never-executed code that divides a blank by 10? From: "Roger L Costello costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 31 Mar 2024 07:56:32 -0000 |
Hi Folks,
I have a program that generates this XSLT code:
<xsl:template match="/">
<xsl:variable name="test" select="' '" as="xs:string"/>
<xsl:value-of select="
if (normalize-space($test) eq '') then ()
else xs:integer($test) div 10"/>
</xsl:template>
When I execute that XSLT code, I get this warning message:
Warning: SXWN9000 Evaluation will always throw a dynamic error: Cannot
convert zero-length string to an integer
Why am I getting that Warning message? This:
xs:integer($test) div 10
will never be executed because of this:
if (normalize-space($test) eq '') then ()
So I don't understand why I am getting the Warning message.
How can the XSLT code be written so that, when executed, it doesn't produce a
Warning message? Note: recall that I have a program that generates the XSLT
code. Sometimes the program generates $test with a blank value, other times
the program generates $test with a numeric value. The generated XSLT code
needs to work with both cases.
/Roger
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] What is the best way to g, Michael Kay michaelk | Thread | Re: [xsl] Why does my XSLT produce , Imsieke, Gerrit, le- |
| Re: [xsl] What is the best way to g, Michael Kay michaelk | Date | Re: [xsl] Why does my XSLT produce , Imsieke, Gerrit, le- |
| Month |