|
Разность дат
|
|||
---|---|---|---|
#18+
Привет всем. Не подскажите как правильно реализовать? Есть тег [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 подскажите что сделал не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:08 |
|
Разность дат
|
|||
---|---|---|---|
#18+
TVadim, 1. Проверь, содержат ли переменные startDurDate и endDurDate нужные даты(может просто не правильно указал XPath). 2. Определен ли неймспейс fn ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:27 |
|
Разность дат
|
|||
---|---|---|---|
#18+
нэймспейс определен как xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xs="http://www.w3.org/2001/XMLSchema" даты возвращаются правильные ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:34 |
|
Разность дат
|
|||
---|---|---|---|
#18+
может я не тот name space для функции указал? У меня ругается теперь что нет такого метода. но на w3c я его видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:42 |
|
Разность дат
|
|||
---|---|---|---|
#18+
TVadim, еще должен быть неймспейс XSLT трансформации: xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:52 |
|
Разность дат
|
|||
---|---|---|---|
#18+
есть такой 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,] ). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:58 |
|
Разность дат
|
|||
---|---|---|---|
#18+
может есть работающий пример как подсчитать количество дней? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 17:59 |
|
Разность дат
|
|||
---|---|---|---|
#18+
TVadim, вы уверены, что используете XPath 2.0? На XPath 1.0 у вас нет "нормальных" методов вычесть даты. Единственное разумное, что приходит в голову, это позвать java функцию, как, например, описывают тут http://wiki.bgbilling.ru/index.php/XSLT Вероятно прийдется функцию написать на java, либо любом другом языке, на котором вы работаете. У микрософта можно поискать xmlns:script, тема раскрыта достаточно широко. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 19:38 |
|
Разность дат
|
|||
---|---|---|---|
#18+
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 - там их на порядок меньше... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2010, 21:23 |
|
|
start [/forum/topic.php?fid=14&fpage=33&tid=1333149]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 133ms |
0 / 0 |