Hi, dasacc22 wrote: > On Apr 4, 11:31 am, dasacc22 wrote: >> Im not sure where else to ask this.
The best place to ask is the lxml mailing list: http://codespeak.net/mailman/listinfo/lxml-dev >> But basically Im having trouble >> figuring out how to successfully apply multiple extensions in a single >> transformation. So for example if i have >> <xsl:stylesheet .../> >> <xsl:template...> >> <my:tag/> >> <my:tag/> >> </xsl:template> >> </xsl:stylesheet> >> >> in my xsl and my xslt extension looks like >> >> class TagExtension(etree.XSLTExtension): >> def execute( ..., output_parent): >> print 'executing tag_extension' >> tag = etree.Element('p') >> tag.text = 'Hello' >> output_parent.append(tag) >> >> well then the transformation works for the first tag and appends it to >> the root of the created doc but all subsequent calls dont append >> (maybe b/c output_parent is now somewhere else for return?). And to >> clarify, I know that its the first call that completes and all >> subsequent calls fail b/c i have a subsequent call that performs a >> different transformation. > > Oh well I found the culprit, etree.tostring seems to cut it off after > the first transformation, Not sure what you mean here. Could you post your question on the lxml mailing list and add a runnable example that shows the behaviour? > simply doing a > > $> print result > > displays the entire document. To make use of the keyword options > xml_declaration, pretty_print, encoding, I tried using the .write > method of result to a StringIO but it produces the same clipped > result. Guess Ill have to edit the .docinfo attributes on the result > and return the string .docinfo is basically read-only. The result of the XSLT is serialised as requested by the xsl:output element in the stylesheet. Stefan -- http://mail.python.org/mailman/listinfo/python-list