Re: [xslt] extension function, python, nodeset ?
- From: Frédéric Glorieux <fred fictif org>
- To: The Gnome XSLT library mailing-list <xslt gnome org>
- Subject: Re: [xslt] extension function, python, nodeset ?
- Date: Fri, 06 Apr 2007 02:30:09 +0200
Hi,
Sorry to answer to myself, I got something which seems to work, but it
sure need improvement from better python/libxml gurus.
def test(ctx):
"""
XSLT extension function, a skeleton for regexp tagging of a string
"""
try:
# string tagging ...
# is it encoding safe ?
result="1 <é>2</é> 3"
doc = libxml2.parseDoc("<root>" + result + "</root>")
root= doc.getRootElement()
# sometimes needed, but can't say when
# root.unlinkNode()
# OK, but with root element
# return [root]
# to return a node list, is there better in API ?
nl = []
child = root.children
while child is not None:
nl.append(child)
child = child.next
# unlink needed, or you can get strange results
# like mixing, "1 <é>2</é> 3" => "<é>2</é> 31 "
# but do it carefully, or child will loose its next
nl[len(nl) - 1].unlinkNode()
# seems OK
return nl
finally:
doc.freeDoc()
--
Frédéric Glorieux <http://fictif.org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]