in reply to Re^2: find the xml files
in thread find the xml files

Well that's probably because the argument list is too long ;)
You can write a simple bash loop to get around this;
for i in $(find . -type f -name "*.xml" -print -exec grep -i '<book></ +book>' {} \;);do grep -i "<name=>*.*Sydney*.*" $i && echo $i;done