xslt - 1.0 版中的 XSLT ../name()
问题描述
我以初学者 xslt 的身份写了 2.0 版,它可以工作
<xsl:template name="ParamOrTpItem">
<xsl:param name="prefix"/>
<xsl:choose>
<xsl:when test="../name()='or'">
....
此模板用于显示条件,它是递归调用。我想通过 python 和 lxml 生成 html,所以我切换到 1.0 版,因为它是 lxml 的必需品
xsl:when : could not compile test expression '../name()='or''
我可以在测试表达式语法中使用name()
或../Atribute
,但对于 XSLT 1.0,组合../name()
是不可能的。你能建议我解决这种情况吗,我想升级name()
dll 的第 3 方,用于像撒克逊一样在 python 上生成 html,但对我来说是不可能的,谢谢
解决方案
使用name(..) = 'or'
或../self::or
。同样对于 Python,现在有一个模块可以将 Saxon 9.9 C 与 Python 一起使用。
推荐阅读
- python - 使用 discord.py (async) 在类别中创建频道
- node.js - create-react-app 不支持的节点版本
- python - Django 自定义身份验证模型注册表单返回唯一用户名错误
- c# - C# WPF 和 SQL Server 报告
- c++ - 可以使用 C++ 模板来推迟对其参数的评估吗?
- tensorflow - 如何使用 tensor2tensor 的蒸馏.py 将知识从教师网络提炼到学生网络?
- python - PyCharm:将 numpy 导入为 np 未注册。
- c - 从 64 位值中获取最后两个字节
- c++ - 为什么 c++ std::string.length() 在 VS2017 上比 strlen() 慢?
- vuex - Vuex $state 从调试器正确评估,但在执行时抛出