2012-01-16 14 views
2

Orbeonフォームビルダの日付フィールドを使用しています(現在は、http://i42.tinypic.com/erdjrb.jpg参照)。フォームで手作業で日付を選択すると、結果のXMLモデルの日付形式は「2011-07-12」に設定されます。しかし、current-date()のデフォルト値を変更しないと、 "2011-07-12 + 02:00"と表示されます。誰も私がcurrent-date()でそれをプレフィルするときに日付の形式が異なる理由を知っていますか?Orbeonフォームビルダ:初期値 "current-date()"の日付フィールドの使用

ありがとうございました!

答えて

4

定義によるXPath関数fn:current-date()は、明示的なタイムゾーン情報と共に日付を返します。私はorbeonが関数呼び出しをXPathエンジンに渡すと仮定しています(Saxonと思います)。迅速な回避策は、例えば、format-date()を使用してcurrent-date()の結果をフォーマットするために、次のようになります。

format-date(current-date(), '[Y]-[M01]-[D01]') 

私はフォームビルダを使用していないので、私は詳細に伝えることはできませんが、私はsetting the config options how to format xforms:input controls regarding date and time valuesは、フォームビルダに適用されると仮定し、あまりにも。

+0

これは良い回避策です。私もこのようにしています。 – Jayy

+2

'adjust-date-to-timezone()'を空のシーケンスを第2引数として使用することもできます。仕様から引用: "$ timezoneが空のシーケンスである場合、タイムゾーンなしでxs:dateを返します。"ですから、 'adjust-date-to-timezone(current-date()、())'と書くことができます。 http://www.w3.org/TR/xpath-functions/#func-adjust-date-to-timezone – avernet

+0

Thanks Avernet、これも便利です。 – Jayy

関連する問題