Hi, As a follow-up: I could avoid this bug by using XPath extension functions in my XSLT stylesheet. Works just fine :) Jens On Mon, Apr 06, 2015 at 11:56:16PM +0200, Jens Tröger wrote:
Hi,
I am trying to understand the process_children() function. If in my extension is have
def execute(self, context, self_node, input_node, output_parent): self.process_children(context, output_parent)
then processing works just fine (although I haven't done anything with the output here). However, using
def execute(self, context, self_node, input_node, output_parent): x = self.process_children(context, output_parent=None) output_parent.append(x)
crashes:
x = self.process_children(context, output_parent=None) File "xsltext.pxi", line 111, in lxml.etree.XSLTExtension.process_children (src/lxml/lxml.etree.c:164356) File "readonlytree.pxi", line 550, in lxml.etree._nonRoNodeOf (src/lxml/lxml.etree.c:78766) TypeError: invalid argument type <class 'NoneType'>
although I had assumed the two to be synonymous. I ask because I want to inject my own node and dangle children off of my own node like this:
p = lxml.etree.Element("p") p.attrib["style"] = "..." output_parent.append(p) self.process_children(context, p)
but that, too, fails. What am I doing wrong here?
Thanks! Jens
-- Jens Tröger http://savage.light-speed.de/