If (as it seems) you are trying to determine if the input contains a valid date - i.e. the equivalent of:
XSLT 2.0
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="Date" select="Input/Date"/>
<xsl:value-of select="$Date castable as xs:date"/>
</xsl:template>
</xsl:stylesheet>
then try the following:
XSLT 1.0 (+ EXSLT)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times"
extension-element-prefixes="date">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="Date" select="Input/Date"/>
<xsl:value-of select="boolean(date:date($Date))"/>
</xsl:template>
</xsl:stylesheet>
This should work with any XSLT 1.0 processor that supports the EXSLT date:date() extension function, incl. IBM DataPower.
Note however, that it does NOT work with Saxon 6.5.5 that will happily output 2011-31-12
as the result of <xsl:value-of select="date:date('2011-31-12')"/>
- despite the specification prescribing an empty string as the required result in this case.