On Thu, Oct 06, 2011 at 09:09:44PM +0200, Joachim Zobel wrote:
> On Wed, 2011-10-05 at 20:55 +0200, Joachim Zobel wrote:
> >     patternc = xmlPatterncompile(pattern, NULL, XML_PATTERN_XPATH ,
> > NULL);
> 
> However I ca't understand what this code could do wrong. I also tried 0
> instead of XML_PATTERN_XPATH, no success.
> 
> I would be relly grateful if someone has an enlightening idea.

  Late, but hopefully still useful !

  Patterns works only on a subset of XPath, they are minimalist but
allow to stream and filter without building a full tree in memory.
Instead of trying to express namespaces in the XPath expression
use them at pattern compilation time, something like:


const char *ns[4] = {"http://xml.zope.org/namespaces/i18n";, "i18n",
                     NULL, NULL};
pattern= "//*[@i18n:*]"

p = xmlPatterncompile(pattern, NULL, XML_PATTERN_XPATH, &ns);

this should work and be less convoluted

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
dan...@veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to