XQUERY - Invalid type: expected exactly one item, got 0 items:
Hi mate, Please help. I have a requirement to create a dynamic xquery. When i am testing the below Xquery from Jdeveloper using run xquery section, getting this error.
Xquery:
xquery version "1.0" encoding "utf-8";
(:: pragma parameter=”$Rules” type=”xs:anyType” ::)
(:: pragma parameter=”$Operation” type=”xs:anyType” ::)
(:: pragma type=”xs:string” ::)
declare namespace xf = "http://tempuri.org";
declare function xf:getServicesXQ($Rules as element(*), $Operation as xs:string)
as xs:string {
let $Result := for $Rule in $Rules//Operations/Operation[@Name= $Operation]/RoutingRules/*
let $TransXQOperation:= $Rule/Transformation/XQ/@Name
for $RoutingAddress in $Rules//RoutingServices/RoutingXQ[@Name = $TransXQOperation]/Address
return $RoutingAddress
return data($Result)
};
declare variable $Rules as element(*) external;
declare variable $Operation as xs:string external;
xf:getServicesXQ($Rules,$Operation)
Payload:
<Rules>
<Operations>
<Operation Name="insert">
<RoutingRules>
<RoutingRule>
<Transformation>
<XQ Name="version1XQ"/>
</Transformation>
</RoutingRule>
</RoutingRules>
</Operation>
<Operation Name="update">
<RoutingRules>
<RoutingRule>
<Transformation>
<XQ Name="version2XQ"/>
</Transformation>
</RoutingRule>
</RoutingRules>
</Operation>
</Operations>
<RoutingServices>
<RoutingXQ Name="insert">
<Address>
DynamicXquerySBProject/resources/XQ/Version1XQ
</Address>
</RoutingXQ>
<RoutingXQ Name="update">
<Address>
DynamicXquerySBProject/resources/XQ/Version2XQ
</Address>
</RoutingXQ>
</RoutingServices>
</Rules>
Error:
Error :Error executing the transformation: {http://www.w3.org/2005/xqt-errors}XPTY0004: Invalid type: expected exactly one item, got 0 items