comparison genshi/path.py @ 1043:a21009a2bc3a trunk

Return correct value and properly namespaced attribute name when matching namespaced attributes with XPath expressions (fixes #572; thanks to Olemis Lang <olemis+trac@gmail.com> for bug report and suggestion for fix).
author hodgestar
date Thu, 20 Mar 2014 12:58:48 +0000
parents 16d55698006a
children
comparison
equal deleted inserted replaced
1040:accc8a0cf486 1043:a21009a2bc3a
1006 self.name = name 1006 self.name = name
1007 def __call__(self, kind, data, pos, namespaces, variables): 1007 def __call__(self, kind, data, pos, namespaces, variables):
1008 qname = QName('%s}%s' % (namespaces.get(self.prefix), self.name)) 1008 qname = QName('%s}%s' % (namespaces.get(self.prefix), self.name))
1009 if kind is START: 1009 if kind is START:
1010 if self.principal_type is ATTRIBUTE and qname in data[1]: 1010 if self.principal_type is ATTRIBUTE and qname in data[1]:
1011 return Attrs([(self.name, data[1].get(self.name))]) 1011 return Attrs([(qname, data[1].get(qname))])
1012 else: 1012 else:
1013 return data[0] == qname 1013 return data[0] == qname
1014 def __repr__(self): 1014 def __repr__(self):
1015 return '%s:%s' % (self.prefix, self.name) 1015 return '%s:%s' % (self.prefix, self.name)
1016 1016
Copyright (C) 2012-2017 Edgewall Software