2012-02-07 20 views
0

我在使用InfoPath創建的表單中有一個日期字段,它允許用戶輸入日期,該日期可能是任務的到期日期。我希望有另一個「計算值」字段設置爲:如何僅使用XPath計算日期差異?

  1. 如果該日期已過,則顯示「過期」
  2. 如果不是,則表明留到給定日期的天數

這可能沒有寫入VB/C#代碼,而只是將表達式粘貼到XPath對話框中?

謝謝!

回答

0

假設這是其中用戶輸入的日期值將XML節點

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

然後下面的xpath表達式將返回剩餘的到期日期,如果輸入的日期是電流日期之前和返回「逾期天'如果輸入的日期通過當前日期。

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

該解決方案使用XPath 2.0,但InfoPath只提供XPath 1.0,我相信。 XPath 1.0中沒有調用其他語言的解決方案。 – 2012-02-07 08:12:57