I use XSLT 2.0 file for converting ISOSTS XML document into HTML.
My code:
from lxml.etree import parse, XSLT
xslt = parse('/path/to/isosts2html_standalone.xsl')
# fixme: it works, but standard xsl fails!
# xslt = XML('''\
# <xsl:stylesheet version="1.0"
# xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
# <xsl:template match="/">
# <foo><xsl:value-of select="/a/b/text()" /></foo>
# </xsl:template>
# </xsl:stylesheet>''')
self._transformer = XSLT(xslt) # <- FAILS !!!
dom = parse(file)
new_dom = self._transformer(dom)
return tostring(new_dom, pretty_print=True)
I have next error:
File "src/lxml/xslt.pxi", line 406, in lxml.etree.XSLT.init (src/lxml/etree.c:185192) lxml.etree.XSLTParseError: Start of literal
Or next error using isosts2html.xsl
from archive:
File "src/lxml/xslt.pxi", line 406, in lxml.etree.XSLT.init (src/lxml/etree.c:185192) lxml.etree.XSLTParseError: Invalid expression
Does lxml support XSLT 2.0 and how to solve problem?