date - XSLT 1.0 Comparar fechas
xslt-1.0 (1)
Suponiendo que las fechas están en formato aaaa-mm-dd (como entiendo son de su otra pregunta), esto debería funcionar con la mayoría de los procesadores XSLT 1.0:
<?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:for-each select="forms/form">
<xsl:variable name="today" select="translate(substring-before(date:date-time(), ''T''), ''-'', '''')"/>
<xsl:variable name="start" select="translate(start, ''-'', '''')"/>
<xsl:variable name="end" select="translate(end, ''-'', '''')"/>
<xsl:if test="$start <= $today and $today <= $end">
<!-- in progress -->
</xsl:if>
Quiero comparar la fecha actual con una fecha de inicio y una fecha de finalización.
XML es:
<forms>
<form id="11">
<start>somedate</start>
<end>someotherdate</end>
</form>
</forms>
Actualmente estoy intentando:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ex="http://exslt.org/dates-and-times" extension-element-prefixes="ex" >
<xsl:choose>
<xsl:when test="end != ''''
and start != ''''
and ex:date(start) <= current-date()
and current-date() <= ex:date(end)">
<!-- Do Stuff -->
</xsl:when>
</xsl:choose>
Obtuve el siguiente error:
xmlXPathCompOpEval: function current-date not found
XPath error : Unregistered function
XPath error : Stack usage errror
<ul class="ccb_forms_ul"></ul>