[xquery-talk] contains function problem

Michael Kay mhk at mhk.me.uk
Sat Jan 7 17:05:45 PST 2006


> So, you could rewrite the query as:
> 
> ---------------------
> xquery version "1.0";
> declare namespace Mpeg7="urn:mpeg:mpeg7:schema:2001";
> 
> for $x in doc("myPersons.xml")//Mpeg7:Agent
> where contains($x/Mpeg7:Name,"Moras")
> return $x//Mpeg7:Email
> ---------------------
>

Also, it's not clear that you actually want contains() at all. Perhaps you
simply want "=". contains() will match <Name>Morasse</Name>, "=" won't. 

Either way, you could use a simple XPath expression:

doc("myPersons.xml")//Mpeg7:Agent[Mpeg7:Name = "Moras"]/Mpeg7:Email

Michael Kay
http://www.saxonica.com/




More information about the talk mailing list