<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdt="http://www.w3.org/2003/11/xpath-datatypes" version="2.0"> <xsl:output method="text"/> <xsl:variable name="nodate" select="'2003-11-21'"/> <xsl:variable name="date" select="xs:date(' 2003-11-21 ')"/> <xsl:variable name="date2" select="'2003-11-21' cast as xs:date" as="xs:date"/> <xsl:template match="/"> <xsl:text>nodate is </xsl:text> <xsl:value-of select="$nodate"/> <xsl:text> </xsl:text> <xsl:text>date is </xsl:text> <xsl:value-of select="$date"/> <xsl:text> </xsl:text> <xsl:text>date2 is </xsl:text> <xsl:value-of select="$date2"/> <xsl:text> </xsl:text> <xsl:text>date+1 is </xsl:text> <xsl:value-of select="$date + xdt:dayTimeDuration('P1D')"/> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet>