0
OSBプロジェクトでXqueryマッピングを使用しています。以下は、私がXquery --- FORG0001: "":キャスト/コンストラクターエラーの無効な値
let $unitofmeasure :=
if (data($ItemMaster/ns1:Item/ns1:dcunitofmeasure)= 1) then
'CS'
else if (data($ItemMaster/ns1:Item/ns1:dcunitofmeasure) = 2 or
data($ItemMaster/ns1:Item/ns1:dcunitofmeasure) = 3) then
'EA'
else if (data($ItemMaster/ns1:Item/ns1:corpwarehouseunitofmeasure) = 2 or
data($ItemMaster/ns1:Item/ns1:corpwarehouseunitofmeasure) = 3) then
'EA'
else
'CS'
その後、私はこのその投げエラーを実行すると、ターゲットノードBaseStorageUOM(String)を
{
if ($unitofmeasure != '') then
(
<BaseStorageUOM>{xs:string($unitofmeasure)}</BaseStorageUOM>
)
else
(
<BaseStorageUOM>CS</BaseStorageUOM>
)
}
にマップするために定義された変数の上に使用していますエラーがスローされている使用していたサンプルコードですXQuery変換を実行します。
{ http://www.w3.org/2005/xqt-errors }FORG0001: "": invalid value for cast/constructor: { http://www.w3.org/2001/XMLSchema }double: error: double: Invalid double value:
コードで問題を把握できませんでした。
dcunitofmeasureは10進数のデータ型ですので、問題が発生しました。この問題は、if条件で1と比較しようとしたときに失敗しました。 – vikash