日付の使用

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

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

日付の使用

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

 

1.グラフィカルな 日付フォーマット を使用することで、 Authentic View ユーザーはノードに対して指定されたデータ型のフォーマットに適合する日付の入力を行うことができます。データ入力に使用される日付選択は Authentic View でのみ利用することができます。
2.入力フォーマット 機能による、広範囲の日付フォーマット 機能。

 

These StyleVision の機能については、このセクションのサブセクション( 日付選択の使用日付のフォーマット)にて記述されます。このセクションでは、日付が関わるような計算を行う XPath 2.0 の条件式について記述されます。

 

メモ: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