Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > XML, XSL > Вычислить разницу дат |
Автор: EgoBrain 29.6.2017, 10:16 | ||
Как в XSLT можно вычислить разницу дат в днях между текущей датой и датой полученной из текста в формате "yyyy-mm-dd"?
|
Автор: diadiavova 29.6.2017, 12:19 |
EgoBrain, вот здесь был подобный вопрос. Что до формата, то распарсить дату несложно, достаточно встроенных строковых функций. http://forum.vingrad.ru/forum/topic-309563/kw-дата-время.html |
Автор: EgoBrain 25.7.2017, 06:27 | ||
Спасибо, но мой процессор даже в current-date не может (javax.xml.transform 1.7) или может быть я неправильно пишу код ![]() В теме по ссылке сказано что можно решить javacript-ом, я не гнушаюсь любыми доступными способами, еще когда создавал тему пытался и так и сяк, с javascript тоже не вышло. Моих наработок уже нет, можете на моём примере выше способ реализации продемонстрировать: вызов функции current-date() и вызов javascript? |
Автор: diadiavova 25.7.2017, 07:49 |
EgoBrain, какой ещё каррентдэйт? Последний пост посмотри, там по параметрам датв вычисляется юлианский день. Вычислишь его для интересующих тебя дат и останется только найти разность результатов. |
Автор: EgoBrain 25.7.2017, 09:38 | ||||
|
Автор: diadiavova 25.7.2017, 10:45 |
EgoBrain, да так-то оно так, только вот когда ты, говоря о несуществующей функции(или что там это было) пишешь ее название, как будто она существует, то выглядит это странно. Что касается текущей даты, то тут все очень просто (не в смысле решения, а в смысле ответа на вопрос ![]() А что касается JavaScript, то там я имел в виду, что в тех случаях, когда результатом преобразования будет HTML, то скрипт можно включить в него и выполнить вычисления уже после преобразования. |
Автор: EgoBrain 26.7.2017, 02:01 | ||||
diadiavova, спасибо за развернутый ответ. Насчет JavaScript я натыкался на примеры непосредственного его использования в XSLT (не в итоговом документе). Насчет моих вопросов и т.д. это всё вытекает из незнания основ и стандартов (XML, XSL и прочие смежные), я понимаю что прежде чем применять технологию её нужно изучить, но требуемые сроки решения задачи меньше чем срок изучения и реализации (для таких случаев в том числе и нужен форум). В результате я пробовал разные способы записи шаблона: подключение пространтв имен, различные способы вызова функции (с префиксом и без) и получал разные ошибки, что меня весьма запутало. Как результат невнятная постановка впороса здесь и неполное описание ситуации. О функции current-date() узнал из руководства https://www.w3schools.com/xml/xsl_functions.asp где сказано
Версия XSLT 2.0 была одобрена в качестве рекомендации 24 января 2007 года а используемый мной процессор входит в состав Java EE 1.7, которая вышла 28 июля 2011 года. По идеи он должен осуществлять поддержку XSLT 2.0, значит я что-то делаю не так, не правильно описываю шаблон, потому и попросил пример.
Отличная идея я попробую. А можно получить из вне не целый документ а например значение? |
Автор: EgoBrain 27.7.2017, 02:28 |
Решение с функцией document подошло, закрываю тему. Дяде Вове отдельный респект. |