libxml2/xpath
Frans Englich
frans.englich at telia.com
Thu Dec 16 11:33:13 EST 2004
On Thursday 16 December 2004 14:46, maxk at touro.edu wrote:
> > # confDocument is a libxml2 document, from parseFile() etc
> > xp = confDocument.xpathNewContext()
> > xp.xpathRegisterNs("xhtml", "http://www.w3.org/1999/xhtml")
> > dirElement = xp.xpathEval( "/xhtml:html" )
>
> Stupid question, but can the namespace somehow be changed to null to
> make queries simpler?
(I am no libxml2, XML, or Python expert)
There's a danger to that; the namespace is there for a reason. For example, if
you put all elements in the document into one namespace, that could mean that
you get elements which not is XHTML, but something else, totally different.
In case you want to ignore namespaces, you must be 100% sure what the files
to be processed contains, and that all namespaces that are thrown together
can be treated equally.
Regarding removing the namespace; you could probably process the DOM tree and
remove all namespaces, before doing any XPath lookups. Perhaps libxml2 has
utility functions for things like this(something like recursively set
namespace for an element). Standard namespace-aware DOM probably has it..
Feel free to post your findings afterwards, although I wouldn't do it in the
first place :)
Cheers,
Frans
More information about the Python-list
mailing list