[
Lists Home |
Date Index |
Thread Index
]
It's not the same thing. That's like saying
void MyMethod(object obj){
if(obj is MyClass)
DoStuff((MyClass) obj)
}
is the same as
void MyMethod(MyClass mc){
DoStuff(mc);
}
<personal-aesthetic-opinion>
I'd rather if element as a parameter type disappeared and instead xs:anySimpleType or xs:anyType were used its place for more consistency but I doubt this will ever happen. :(
</personal-aesthetic-opinion>
As for error handling, I pray it isn't a structured exception handling/try-catch proposal that makes it into the WD. I can't even imagine the concept of using try...catch in XQuery with a straight face. Then again, validate() made it into one of the XPath 2.0 working drafts so I guess anything is possible.
-----Original Message-----
From: Jonathan Robie [mailto:jonathan.robie@datadirect-technologies.com]
Sent: Sat 7/6/2002 11:11 AM
To: Dare Obasanjo; Mike Champion; xml-dev@lists.xml.org
Cc:
Subject: RE: RE: [xml-dev] XQuery and DTD/Schema?
At 03:00 PM 7/3/2002 -0700, Dare Obasanjo wrote:
> Mike Champion wrote:
> > I can think of lots of scenarios where I would want my
> > get-total() function to
> > process the "merely well-formed elements whose name happens
> > to be 'invoice'".
> >
>
>I agree. I am both dissappointed and stunned that such functionality
>does not exist in XQuery.
Since at least two people seem to think this is true, let me show how you
would do this in XQuery:
define function get-total( element $i )
returns xs:decimal
{
sum( $i//item/price )
}
I didn't say 'element invoice' in the parameter declaration, because that
requires that the element conform to the globally defined element named
'invoice'. If I want to make sure that the element has the appropriate
name, I can test the name:
define function get-total( element $i )
returns xs:decimal
{
if (local-name( $i ) = 'invoice')
then sum( $i//item/price )
else <error>Not an invoice!!!</error>
}
We will have better ways of handling errors in the next Working Drafts.
Jonathan
|