日付の使用

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  SPS ファイル: 追加機能 >

日付の使用

ソースドキュメントに日付の値を受け取るノードが含まれる場合、使用されている XML スキーマにある xs:datexs:dateTime データ型を使用することで、XPath 2.0/3.0 (下の例を参照を参照)。StyleVision では、xs:date または xs:dateTime データ型に対して以下のような機能がサポートされます。入力フォーマット 機能により日付フォーマットの範囲を広げます。

 

メモ:XPath 1.0 では日付ならびに時間データの操作を行うことができません。しかし、XPath 1.0 でも 日付のフォーマットを保証するjことができます。

 

 


 

 

XPath 2.0 における日付の計算

自動計算 における XPath 2.0 条件式では、日付形式のデータを操作することができます。XPath 2.0 条件式により行うことのできる例を以下に示します:

 

XPath 2.0 関数の current-date() ならびに current-dateTime() を使用することで、現在の日付と日時をそれぞれ取得することができます。
日付の計算を行うことができます。例えば、current-date() - DueTime という計算に対して xdt:dayTimeDuration 形式の値を得ることができ、例えば P24D という値により、プラス24日間という期間が表されます。
XPath 2.0 関数を使用することで、期間から時間単位を取得することができます。例えば、day-from-duration(xdt:dayTimeDuration('P24D')) という条件式により、24 という数値が返されます。

 

自動計算における XPath 2.0 条件式の例を以下に示します。この条件式ではある項目の支払期限が過ぎた場合に、4% の年利に対する日割りの利子額を(単利計算で)計算し、その値と元本の和が返されます。

 

 if                (current-date() gt DueDate)

 then        (round-half-to-even(InvoiceAmount +

                         (InvoiceAmount*0.04 div 360 *        
                                 days-from-duration((current-date() - DueDate))), 2))

 else        InvoiceAmount

 

このような計算を行うには、DueDate 要素が xs:date といった日付型により定義されており、その要素のコンテンツが YYYY-MM-DD[±HH:MM] という形式(時間部分はオプション)で記述されている必要があります。

 

 

 


(C) 2019 Altova GmbH