[XML-SIG] get the abolute path for a node

Rich Salz rsalz at datapower.com
Thu Aug 5 18:37:39 CEST 2004


FYI, here is how ZSI does it; walking *up* from an element to a provided 
root:

def _backtrace(elt, dom):
     '''Return a "backtrace" from the given element to the DOM root,
     in XPath syntax.
     '''
     s = ''
     while elt != dom:
         name, parent = elt.nodeName, elt.parentNode
         if parent is None: break
         matches = [ c for c in _child_elements(parent)
                         if c.nodeName == name ]
         if len(matches) == 1:
             s = '/' + name + s
         else:
             i = matches.index(elt) + 1
             s = ('/%s[%d]' % (name, i)) + s
         elt = parent
     return s

-- 
Rich Salz, Chief Security Architect
DataPower Technology                           http://www.datapower.com
XS40 XML Security Gateway   http://www.datapower.com/products/xs40.html
XML Security Overview  http://www.datapower.com/xmldev/xmlsecurity.html


More information about the XML-SIG mailing list