Python Unicode源代码的XSLT转换

Python Unicode源代码的XSLT转换,python,xslt,unicode,Python,Xslt,Unicode,在我的应用程序中,我使用来执行源XML的转换。语法如下所示: from Ft.Xml.Xslt import Transform transformed_xml = Transform(raw_xml, stylesheet) 其中,raw_xml和stylesheet已在我的应用程序的其他地方定义raw_xml将是读取用编解码器模块打开的文件句柄时产生的xml,因此raw_xml将是unicode 问题是Transform()函数要求源xml的值(raw_xml,在我的示例中)为ascii。

在我的应用程序中,我使用来执行源XML的转换。语法如下所示:

from Ft.Xml.Xslt import Transform
transformed_xml = Transform(raw_xml, stylesheet)
其中,
raw_xml
stylesheet
已在我的应用程序的其他地方定义
raw_xml
将是读取用编解码器模块打开的文件句柄时产生的xml,因此
raw_xml
将是unicode

问题是Transform()函数要求源xml的值(
raw_xml
,在我的示例中)为ascii。在pydoc中是这样说的,如果我尝试转换unicode,我自己的程序就会失败,并出现错误


是否有不同的方法,或者是否有另一个python库可以对unicode源代码执行XSLT转换?或我对XSLT转换有什么误解吗?

您可能会更好地使用更现代、更积极维护的转换。

您可能会更好地使用更现代、更积极维护的转换。

我不确定
转换是否真的需要ascii——在我看来,它应该支持任何编码的Python str。如果调用
转换(原始xml.encode('utf8'),样式表)
(然后在处理完utf8编码字符串后将其解码回Unicode,当然,如果需要Unicode),会发生什么情况--这不管用吗?

我不确定
Transform
是否真的需要ascii--在我看来,它应该支持任何编码的Python str。如果调用
Transform(raw\u xml.encode('utf8'),stylesheet),会发生什么情况
(然后在处理完utf8编码字符串后将其解码回Unicode,当然,如果需要Unicode的话)--这不管用吗?

这看起来很管用。我现在正在测试它,但似乎很有希望。谢谢!这看起来很管用。我现在正在测试它,但似乎很有希望。谢谢!我很想使用lxml,但我的应用程序已经分布在100多个站点上,所以我在交换方面没有太多的灵活性xml库。这是可以做到的,但我现在要尽量避免。现在,如果我有机会更新和重构这段代码,那么,是的,我可能会切换到lxml,以便于使用并与etree兼容。我很想使用lxml,但我的应用程序已经分布在100多个站点上,所以我不想使用它在替换xml库时有很大的灵活性。这是可以做到的,但我现在要尽量避免。现在,如果我有机会更新和重构此代码,那么,是的,我可能会切换到lxml,以便于使用并与etree兼容。