Как рассчитать разницу дат только с XPath? - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть поле даты в форме, созданной с использованием InfoPath, которое позволяет пользователям вводить дату, которая, вероятно, является датой выполнения задачи.И я хочу иметь другое поле «вычисляемого значения» для:

  1. , если дата прошла, затем показать «просрочено»
  2. , если нет, то показать количество оставшихся днейдо указанной даты

Возможно ли это без написания кода VB / C #, а просто путем вставки выражения в диалоговое окно XPath?

Спасибо!

1 Ответ

2 голосов
/ 07 февраля 2012

Предполагая, что это ваш xml-узел, в который пользователь вводит значение даты

    <due-date>2012-02-08</due-date>

, то ниже выражения xpath будет возвращаться количество дней, оставшихся до даты исполнения, если введенная дата будет предшествовать текущей дате, и возвращаетсяOverDue ', если введенная дата проходит текущую дату.

    if((xs:date(current-date())) <= (xs:date(/due-date))) 
     then days-from-duration( (xs:date(/due-date)) - (xs:date(current-date())) ) 
     else 'OverDue'
...