powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Разность дат
9 сообщений из 9, страница 1 из 1
Разность дат
    #36796109
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем. Не подскажите как правильно реализовать?
Есть тег
[code]
<TimeSpan>
<StartDateWindow EarliestDate="2011-07-01T00:00:00-05:00"/>
<EndDateWindow LatestDate="2011-07-04T00:00:00-05:00"/>
</TimeSpan>
[code]
Надо вычесть разницу между датами. Делаю след. образом:
[code]
<xsl:variable name="startDurDate"><xsl:value-of select="../TimeSpan/StartDateWindow/@EarliestDate"/></xsl:variable>
<xsl:variable name="endDurDate"><xsl:value-of select="../TimeSpan/EndDateWindow/@LatestDate"/></xsl:variable>
<xsl:variable name="durDate">
<xsl:value-of select="fn:subtract-dates-yielding-dayTimeDuration(xs:dateTime($endDurDate), xs:dateTime($startDurDate))"/>
</xsl:variable>
[code]
Пример брал с http://www.w3.org/TR/2004/WD-xpath-functions-20040723/#func-subtract-dateTimes-yielding-yearMonthDuration
подскажите что сделал не так.
...
Рейтинг: 0 / 0
Разность дат
    #36796158
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVadim,

1. Проверь, содержат ли переменные startDurDate и endDurDate нужные даты(может просто не правильно указал XPath).
2. Определен ли неймспейс fn ?
...
Рейтинг: 0 / 0
Разность дат
    #36796180
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нэймспейс определен как
xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xs="http://www.w3.org/2001/XMLSchema"

даты возвращаются правильные
...
Рейтинг: 0 / 0
Разность дат
    #36796196
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может я не тот name space для функции указал? У меня ругается теперь что нет такого метода. но на w3c я его видел.
...
Рейтинг: 0 / 0
Разность дат
    #36796235
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVadim,

еще должен быть неймспейс XSLT трансформации:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
...
Рейтинг: 0 / 0
Разность дат
    #36796252
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такой namespace.
Вот такая ошибка выскакивает
SystemId Unknown; Line #0; Column #0; XSLT Error (javax.xml.transform.TransformerException): java.lang.NoSuchMethodException
: For extension function, could not find method org.apache.xml.utils.NodeVector.dateTime([ExpressionContext,] ).
...
Рейтинг: 0 / 0
Разность дат
    #36796254
TVadim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может есть работающий пример как подсчитать количество дней?
...
Рейтинг: 0 / 0
Разность дат
    #36796472
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVadim,

вы уверены, что используете XPath 2.0?

На XPath 1.0 у вас нет "нормальных" методов вычесть даты.

Единственное разумное, что приходит в голову, это позвать java функцию, как, например, описывают тут http://wiki.bgbilling.ru/index.php/XSLT
Вероятно прийдется функцию написать на java, либо любом другом языке, на котором вы работаете.

У микрософта можно поискать xmlns:script, тема раскрыта достаточно широко.
...
Рейтинг: 0 / 0
Разность дат
    #36816492
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVadim
Пример брал с http://www.w3.org/TR/2004/WD-xpath-functions-20040723/#func-subtract-dateTimes-yielding-yearMonthDuration
подскажите что сделал не так.

Может, я не прав, но там же написано "Working draft" - что-то типа рабочего проекта. А точно поддерживаемые функции по адресу http://www.w3.org/2005/xpath-functions - там их на порядок меньше...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Разность дат
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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