Intereting Posts
Как передать переменные $ _SESSION на сервер websocket? Как отображать последние комментарии от Facebook Комментарии социальный плагин? netbeans autocompletion при использовании singleton для извлечения объекта вместо нового оператора? Echo строка с переменной внутри, полученная из БД Как зашифровать строку без библиотеки mcrypt в php Ошибка PHP session_start ()? PHP-компонентная модель объекта «Доступ запрещен» Array_filter и empty () Socket транспорта "ssl" в PHP не включен Хранить данные без базы данных? как я могу игнорировать обратные ссылки в codeigniter при использовании активных записей? мне нужно заказывать по делам Примеры Bigquery + PHP Laravel 5.2 artisan optimize – php_strip_whitespace не удалось открыть поток: никаких дочерних процессов Функция даты в PHP Не работает должным образом PHP-массив Кодирование и декодирование: нужна функция для кодирования и декодирования строки или массива с разделителями или массивом

Как использовать встроенный EXSLT из XSLTProcessor?

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> 
  • свойство [@ name = 'changedate'] / значение – штамп из SQL DB (yyyy-mm-dd hh: mm: ss)
  • Сначала замените это пространство на T так, чтобы его формат exslt его понимал
  • Изменить * yyyy-mm-dd *** T *** hh: mm: ss * -> dd.mm.yyyy hh: mm

Ошибка:

Предупреждение: XSLTProcessor :: transformToXml () [xsltprocessor.transformtoxml]: xmlXPathCompOpEval: дата функции привязана к неопределенному префиксному формату

PHP версия 5.2.9

  • Поддержка XSL
  • libxslt Версия 1.1.24
  • libxslt скомпилирован против libxml Версия 2.6.32
  • EXSLT включен
  • libexslt Версия 1.1.24

Я исправил это. Он перемещает информацию о дате, чтобы скорректировать позиции.

 <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 .