Page 1 of 1

none of the conditions is satisfied;empty sequence returned

Posted: Mon Dec 01, 2008 2:52 pm
by s_ravi1973
Hi

declare function getAggregation($agg as xs:string) as xs:string {

if($agg = 'AS') then
"as"
else if($agg = 'Destination-Prefix') then
"destination-prefix"
else if($agg = 'Prefix') then
"prefix"
else if($agg = 'Protocol-Port') then
"protocol-port"
else if($agg = 'Source-Prefix') then
"source-prefix"
else ()
};

While transforming above function using Oxygen9.3 I am getting following error:

Description: Conditional expession: If none of the conditions is satisfied, an empty sequence will be returned, but this is not allowed as the result of function getAggregation()

The above function can be transformed successfully when I replace xs:string with xs:string* but there are many such functions in my project which is very tedious task to perform this change.

Where as I can successfully transform the same function in Oxygen7.2 .

My question is why this is happening in Oxygen9.3 not in 7.2 . Pls give solution to get this transformed successfully in Oxygen9.3 instead 7.2

Regards,
Ravikumar

Re: none of the conditions is satisfied;empty sequence returned

Posted: Tue Mar 17, 2009 3:46 am
by strivinglife
Since this was your only post, albeit 6 times ;), I'm not sure you're checking on this, but ...

From what I can tell (and I may be wrong), the issue lies with not passing an empty string in your final else.

...
else()
""
};

Again, from what I can tell, an empty sequence is not a string, and therefore not valid for the return.

(I'll stop looking at the 'unanswered posts' now ...)

~James

Re: none of the conditions is satisfied;empty sequence returned

Posted: Wed Jan 20, 2010 12:43 pm
by s_ravi1973
If this is wrong then why I can transform it successfully in 7.0 ver

Re: none of the conditions is satisfied;empty sequence returned

Posted: Wed Jan 20, 2010 12:44 pm
by s_ravi1973
s_ravi1973 wrote:If this is wrong then why I can transform it successfully in 7.2 ver

Re: none of the conditions is satisfied;empty sequence returned

Posted: Wed Jan 20, 2010 4:46 pm
by strivinglife
Did you try adding an empty string for that last else? Looking at this again with fresh eyes, that makes sense.

As for it working before, just because it worked in a previous version of an application, doesn't mean that it should have worked. (IE 6 being a great example. :D )