2017-12-20 18 views
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에 매핑 정의 변수 위에 사용하고 있습니다 (문자열)

{ 
    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:

코드와 관련된 문제를 파악할 수 없습니다.

답변

0

이 단순화 된 버전은 Saxon을 사용하여 잘 실행되므로 XQuery는 괜찮습니다. 예를 들어 return이없는 경우에 한합니다.

+0

감사합니다. dcunitofmeasure는 10 진수 데이터 유형이므로 문제가 발생했을 때 1에 비교하려고했습니다. – vikash