Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Обработка даты в xsl. / 5 сообщений из 5, страница 1 из 1
26.02.2009, 12:01
    #35838809
dimi4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка даты в xsl.
Добрый день всем. У меня есть xml в нем дата в unix формате. Необходимо с помощью xsl преобразовать дату в читабельный вид. Может есть какая функция для форматирования. Я искал не нашел, решил сделать ручками через xsl:function, но у меня не получается. XSl правильный, а при скрещивании xsl c xml ничего не выводится. Скрещивается в php. Подскажите в чем ошибка. Если можно примеры.
...
Рейтинг: 0 / 0
26.02.2009, 16:59
    #35840037
AlexVer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка даты в xsl.
автордата в unix формате
Правильно ли я понял, что Вы хотите разобрать дату вида "Thu, 01 Dec 2000 06:01:07 +0200"?

Если так, и Вы используете XSLT 2.0, то, полагаю, что для разбора строки надо воспользоваться регулярными выражениями (функцией tokenize() для выделения лексем либо функцией analyze-string() для разбора строки по шаблону).
...
Рейтинг: 0 / 0
26.02.2009, 22:33
    #35840738
AlexVer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка даты в xsl.
Хорошая ссылка по теме:
XSL Date & Time Library
...
Рейтинг: 0 / 0
27.02.2009, 15:38
    #35842560
dimi4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка даты в xsl.
Дата в unix формате это количество милесекунд с 1.01.1970. Поэтому работа со строками здесь не подходит. Чистая математика. У меня проблема с xsl:function без него работает с ним нет. Не знаю может дело в php.
...
Рейтинг: 0 / 0
04.03.2009, 14:03
    #35850859
dimi4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка даты в xsl.
Спасибо всем за помощь. Наконецто я разобоался.Решил след образом
php-------------------------
$filename="modules/Documents/template/in.xsl";
if(file_exists($filename)){
$handle=fopen($filename,"r");
$XSL= fread($handle, filesize($filename));
fclose($handle);
}
$xml = new DOMDocument;
$res = $xml->loadXML($data);
$xsl = new DOMDocument;
$res = $xsl->loadXML($XSL);
$proc = new XSLTProcessor;
$proc->registerPHPFunctions();
$res = $proc->importStyleSheet($xsl); // attach the xsl rules
$html=$proc->transformToXML($xml);
xsl------------------------------------------------------------------
<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl">
<xsl:output method="html" indent="yes" />
........
<xsl:value-of select="php:function('date','d.m.Y',number(vhodyaschiy_registracionnaya_kartochka_data_ot))"/>
........
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Обработка даты в xsl. / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]