Sorry, that pseudocode makes little sense to me.
suppose you have an XML document with nodes in a given namespace e.g <a xmlns="http://foo/bar"> <b/> </a> if you want to be able to select the b element in that document "//b" wont work you need to define a namespace prefix in your XPath context (whatever it is) and then prepare the xpath query using that context. Example with xmllint shell command: thinkpad:~/XML -> cat tst.xml <a xmlns="http://foo/bar"> <b/> </a> thinkpad:~/XML -> xmllint --shell tst.xml / > setns foobar=http://foo/bar / > xpath //b Object is a Node Set : Set contains 0 nodes: / > xpath //foobar:b Object is a Node Set : Set contains 1 nodes: 1 ELEMENT b / > it would be exactly the same if your document used an explicit namespace instead of a default name, even if the prefix is different e.g <fb:a xmlns:fb="http://foo/bar"> <fb:b/> </fb:a> Hope this helps, Daniel On Tue, Feb 10, 2015 at 11:56:40AM -0500, Alex Boese wrote: > I'm thinking it should look something like this, assuming Python language: > > Import xmlsec > Import libxml2 > > ... > > def test_get_xml_fragment(self,xpath,ns): > ret = None > context = self.doc.xpathNewContext() > if ns is None: > > context.xpathRegisterNs(ns,'http://127.0.0.1/#no_place_like_home') > res = context.xpathEval(xpath) > i = 0 > for node in res: > print i,':',node > i = i + 1 > > > Please note there is an object in the mix, and I can get the whole to work > great without namespaces. One good example of how Python should be handling > namespaces in this case would be great. Even telling me it's forever > broken...this too would be good to know. (Also, this is not an ideal > example...I get this. I want something that hobbles before I get something > hat soars.) > > Thanks in advance. > > Sent from my Planet > > > > Message: 2 > > Date: Fri, 30 Jan 2015 09:03:40 -0600 > > From: Ross Reedstrom <reeds...@rice.edu> > > To: xml@gnome.org > > Subject: Re: [xml] Xpath issues with libxml2 > > Message-ID: <20150130150340.ga28...@rice.edu> > > Content-Type: text/plain; charset=us-ascii > > > > Alex - > > With out examples of what you've tried, it's hard to diagnose the problem. > > However, seeing 'namespaces' and 'never returns anything' makes me think > > you're > > having issues with the default namespace concept. While XML documents have a > > default namespace, XPaths do not. Once you use namespaces in an xml > > document, > > all your xpaths will need to use namespace declarations for all the path > > parts, > > even for tags that are defaulted in the document. So, you'll need to declare > > a namespace prefix that matches the default namespace in the doc. Give us > > a small example that you've tried that doesn't work, we'll fix it. > > > > Ross > > > >> On Fri, Jan 30, 2015 at 08:44:15AM -0500, Alex Boese wrote: > >> Forgive me if this is a deprecated approach (as I am not fully aware), but > >> I was utilizing "default" libxml2 bindings (not lxml) in Python to > >> retrieve xml fragments via xpath functions. Normally this seems to work > >> fine, but with namespace declarations this seems especially problematic as > >> nothing ever returns and nothing errors. Would it be possible to confirm > >> what correct functions and order of operations would be for this? Even if > >> the example is C, I can translate that to Python. > > > > -- > > Ross Reedstrom, Ph.D. reeds...@rice.edu > > Systems Engineer & Admin, Research Scientist phone: 713-348-6166 > > Connexions http://cnx.org fax: 713-348-3665 > > Rice University MS-375, Houston, TX 77005 > > GPG Key fingerprint = F023 82C8 9B0E 2CC6 0D8E F888 D3AE 810E 88F0 BEDE > > > > > > ------------------------------ > > > > Subject: Digest Footer > > > > _______________________________________________ > > xml mailing list > > xml@gnome.org > > https://mail.gnome.org/mailman/listinfo/xml > > > > > > ------------------------------ > > > > End of xml Digest, Vol 128, Issue 2 > > *********************************** > _______________________________________________ > xml mailing list, project page http://xmlsoft.org/ > xml@gnome.org > https://mail.gnome.org/mailman/listinfo/xml -- Daniel Veillard | Open Source and Standards, Red Hat veill...@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | virtualization library http://libvirt.org/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml