Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from lxml import etree
- def myFunc(context, parm):
- import lxml.html
- return lxml.html.fragments_fromstring('some sample <em>text</em>')
- #em = etree.Element('em')
- #em.text = 'text'
- #return ['some sample ', em]
- myns = etree.FunctionNamespace('http://example.org/myNamespace')
- myns['my-func'] = myFunc
- xslt = '''
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:myns="http://example.org/myNamespace">
- <xsl:template match="/">
- <xsl:variable name="result" select="myns:my-func(./*)" />
- <xsl:for-each select="$result">
- <xsl:copy-of select="." />
- </xsl:for-each>
- </xsl:template>
- </xsl:stylesheet>
- '''
- root = etree.XML('<root></root>')
- doc = etree.ElementTree(root)
- transform = etree.XSLT(etree.XML(xslt))
- res = transform(doc)
- print(res)
Advertisement
Add Comment
Please, Sign In to add comment