XPath を使用して、日付または日時フィールドが null か空白かを確認するにはどうすればよいですか?
XPath if ステートメントの代用として concat メソッドを使用しています。
concat(
substring(../preceding-sibling::my:PerDiem[1]/my:perDiemEnd, 1, ../preceding-sibling::my:PerDiem[1]/my:perDiemEnd = "" * string-length(../preceding-sibling::my:PerDiem[1]/my:perDiemEnd)),
substring(/my:ExpenseForm/my:ExpenseHeader/my:departureDateTime, 1, not(../preceding-sibling::my:PerDiem[1]/my:perDiemEnd = "") * string-length(/my:ExpenseForm/my:ExpenseHeader/my:departureDateTime))
)
詳細: Infopath 2010 では、繰り返しテーブルに perDiemStart と perDiemEnd という 2 つの日付/時刻フィールドがあります。繰り返しテーブルでは、次の perDiemStart は前の perDiemEnd です。perDiemStart のデフォルト値が../preceding-sibling::my:PerDiem[1]/my:perDiemEnd
しかし、最初の perDiemStart については (前の perDiemEnd が存在しないため、null/空白になると思います)。最初の (空白の) 値を別のものにしたい:departureDateTime ノードの値
ノードの場所:
/my:ExpenseForm/my:ExpenseHeader/my:departureDateTime
/my:ExpenseForm/my:PerDiemDetails/my:PerDiems/my:PerDiem/my:perDiemStart
/my:ExpenseForm/my:PerDiemDetails/my:PerDiems/my:PerDiem/my:perDiemEnd