Try this:
/bank/name[text()='Dresdner Bank AG']
Not sure why the original query doesn't work(probably something to do with the string function not correctly filtering off the empty results) , but I find that returning whole nodes like in this case 'name' works allot better in the long run. The way xindice api is setup you still need parse the string anyways then extract the text.
Todd
Michael Kastner wrote:
Hello,
I have a question regarding xquery.
I execute the following query:
string(/bank[name='Dresdner Bank AG']/name)
Against these documents;
<bank> <name>Dresdner Bank AG</name> </bank> <bank> <name>Deutsche Bank</name> </bank> <bank> <name>Deutsche Bank</name> </bank> <bank> <name>Some dummy bank</name> </bank>
The query returns these resources:
<xq:result xmlns:xq="http://xml.apache.org/xindice/Query" xq:col="/db/banks" xq:key="0100007f626f1e1500000102ca77bb76" /> <xq:result xmlns:xq="http://xml.apache.org/xindice/Query" xq:col="/db/banks" xq:key="0100007f626f1e1500000102ca7c4773" /> <xq:result xmlns:xq="http://xml.apache.org/xindice/Query" xq:col="/db/banks" xq:key="0100007f626f1e1500000102ca8142c3">Dresdner Bank AG</xq:result> <xq:result xmlns:xq="http://xml.apache.org/xindice/Query" xq:col="/db/banks" xq:key="0100007f626f1e1500000102d468b1d9" />
What I would expect is only one resoure as a result: the resource containig the name "Dresdner Bank AG".
Am I missing something?
Sincerely
Michael Kastner
