XSLTProcessor :: hasExsltSupport () возвращает true. Теперь, что мне нужно изменить, чтобы я мог его использовать?
у меня есть
<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">
Преобразование, что я пытаюсь сделать:
<td> <xsl:value-of select="date:format-date(translate(property[@name='changedate']/value, ' ', 'T'), 'dmy h:i')" /> </td>
Ошибка:
Предупреждение: XSLTProcessor :: transformToXml () [xsltprocessor.transformtoxml]: xmlXPathCompOpEval: дата функции привязана к неопределенному префиксному формату
PHP версия 5.2.9
Я исправил это. Он перемещает информацию о дате, чтобы скорректировать позиции.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template name="FormatDate"> <xsl:param name="DateTime" /> <xsl:variable name="mo"> <xsl:value-of select="substring($DateTime, 6, 2)" /> </xsl:variable> <xsl:variable name="day"> <xsl:value-of select="substring($DateTime, 9, 2)" /> </xsl:variable> <xsl:variable name="year"> <xsl:value-of select="substring($DateTime, 1, 4)" /> </xsl:variable> <xsl:variable name="time"> <xsl:value-of select="substring($DateTime, 12, 8)" /> </xsl:variable> <xsl:variable name="hh"> <xsl:value-of select="substring($time, 1, 2)" /> </xsl:variable> <xsl:variable name="mm"> <xsl:value-of select="substring($time, 4, 2)" /> </xsl:variable> <xsl:value-of select="$day" /> <xsl:value-of select="'.'" /> <xsl:value-of select="$mo" /> <xsl:value-of select="'.'" /> <xsl:value-of select="$year" /> <xsl:value-of select="' '" /> <xsl:value-of select="$hh" /> <xsl:value-of select="':'" /> <xsl:value-of select="$mm" /> </xsl:template> </xsl:stylesheet>
«Следующие функции расширения не считаются стабильными и не являются частью ядра EXSLT – Dates and Times. Процессоры, требующие поддержки EXSLT – Dates and Times, могут не поддерживать эти функции». – это относится и к format-date
.