Hi,
I have the following code :
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xdt="http://www.w3.org/2003/11/xpath-datatypes"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:variable name="var">
<xsl:element name="a">
<xsl:value-of select="xs:integer(2)
treat as xs:integer" />
</xsl:element>
</xsl:variable>
<xsl:choose>
<xsl:when test="$var/a instance of xs:integer">
yes
</xsl:when>
<xsl:otherwise>
no
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
...where I'm trying to detect if a variable has an integer value. The
output that I currently get is :
bash-2.05b$ java net.sf.saxon.Transform intck.xsl intck.xsl
no
At first I thought that this is because the xsl:value-of that is
used to assign the value of $var/a was producing either a string or an
untypedAtomic value. However, changing the "xsl:when" to test for
xs:string and xsd:untypedAtomic didnt work either. Is there any way to
get this to work without using a schema aware processor?
Thanks,
Kenneth