diff --git a/src/xpath.cpp b/src/xpath.cpp index 40ab734..ca67b8f 100644 --- a/src/xpath.cpp +++ b/src/xpath.cpp @@ -59,11 +59,14 @@ namespace duck { BatchResults retval; try { AutoDelete context(xqilla.createContext(XQilla::XQUERY_UPDATE, &xconfig)); + //see http://xqilla.sourceforge.net/docs/simple-api/classStaticContext.html#adc869a84712459fa49db67fe837c9b01 + context->setDefaultElementAndTypeNS(u"http://www.w3.org/1999/xhtml"); Node::Ptr ptr = context->parseDocument(input_buf); context->setContextItem(ptr); for (const auto& xpath : parQueries) { - AutoDelete query(xqilla.parse(X(xpath.c_str()))); + AutoDeleteArray xpath_wide = xercesc::XMLString::transcode(xpath.c_str()); + AutoDelete query(xqilla.parse(xpath_wide, context, nullptr, XQilla::NO_ADOPT_CONTEXT)); context->setContextPosition(1); context->setContextSize(1);