OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: RE: [xml-dev] XQuery and DTD/Schema?

[ 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
	
	





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS