<?xml version='1.0'?>
<xsl:stylesheet 
	version="2.0" 
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:date="http://www.stylusstudio.com/XSLT/date"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:fn="http://www.w3.org/2005/xpath-functions"
	xmlns:c="java:java.util.Calendar"
	xmlns:d="java:java.util.Date"
	xmlns:f="java:java.text.SimpleDateFormat">

	<xsl:variable name="ONE_DAY" select="24 * 60 * 60 * 1000" as="xs:long"/>	

	<xsl:variable name="startDate" as="xs:long">
		<xsl:variable name="calendarObject" select="c:getInstance()"/> 
		<xsl:value-of select="
				concat(
					c:clear($calendarObject),
					c:set($calendarObject, 1899,11,30,0,0,0),
					d:getTime(c:getTime($calendarObject))
				)
			"/> 
	</xsl:variable>
	
	<xsl:function name="date:AOtoISO">
		<xsl:param name="d1" as="xs:string"/>
		<xsl:if test="$d1 castable as xs:double">	
			<xsl:variable name="d" 				select="xs:long($d1)"			as="xs:double"/>
			<xsl:variable name="wholeDays" 	  	select="xs:long($d)" 			as="xs:long"/>	
			<xsl:variable name="fracDays" 		select="abs($d - $wholeDays)" 	as="xs:double"/>
			<xsl:variable name="offset" 		select="($ONE_DAY * $wholeDays) + xs:long($fracDays) * $ONE_DAY" />
			<xsl:variable name="dateObject" 	select="d:new(xs:long($startDate + $offset))"/>
			<xsl:variable name="SimpleDateFormatObject" select="f:new('yyyy-MM-dd')"/> 
			<xsl:value-of select="f:format($SimpleDateFormatObject, $dateObject)"/>
		</xsl:if>

	</xsl:function>



	<xsl:function name="date:fix_date" as="xs:string">
		<xsl:param name="fix_date"/>
		<xsl:choose >
      		<xsl:when test="string-length($fix_date) > 0">
				<xsl:variable name="items" select="fn:tokenize($fix_date, '/')"/>
				<xsl:variable name="yyyy" 	select="format-number(xs:integer($items[3]), '0000')"/>
				<xsl:variable name="mm" 	select="format-number(xs:integer($items[1]), '00')"/>
				<xsl:variable name="dd" 	select="format-number(xs:integer($items[2]), '00')"/>
				<xsl:value-of select="concat($yyyy, '-', $mm, '-', $dd)"/>
			</xsl:when>
			<xsl:otherwise/>
  		</xsl:choose>
	</xsl:function>

</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2009. Progress Software Corporation. All rights reserved.

<metaInformation>
	<scenarios/>
	<MapperMetaTag>
		<MapperInfo srcSchemaPathIsRelative="yes"
		            srcSchemaInterpretAsXML="no"
		            destSchemaPath=""
		            destSchemaRoot=""
		            destSchemaPathIsRelative="yes"
		            destSchemaInterpretAsXML="no"/>
		<MapperBlockPosition></MapperBlockPosition>
		<TemplateContext></TemplateContext>
		<MapperFilter side="source"></MapperFilter>
	</MapperMetaTag>
</metaInformation>
-->