问题标签 [libxslt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8899 浏览

php - 将 PHP XSLT 处理器升级到 XSLT 2.0

升级 PHP 库以使用 XSLT 2.0 是否可能/容易?

当前设置:

0 投票
1 回答
1141 浏览

python - XSL short `value-of` 和 `disable-output-escaping`?

我正在处理以下(示例)XML:

通过以下(示例)XSL:

使用 Python 和lxml( libxslt-1.1.17),我得到以下输出:

我知道我可以使用以下模板解决此问题:

但这是很多打字。在 PHP 中使用过 XSL 后,我不记得曾经使用过这种变通方法来使用 short-form 取消引用 XML 实体value-of。是否有一个简短的解决方法,所以我们不必继续输入以上所有内容?

0 投票
2 回答
3227 浏览

python - Python - 转换?

我正在使用 libxml2 和 libxslt 来处理 XML 文件。返回值是实例类型,但我需要一个 UTF-8 静态字符串。

如何将返回值转换为静态字符串?

谢谢你的帮助。

0 投票
1 回答
989 浏览

php - 升级 PHP 版本后 xsl:include 失败;是 libxml/libxslt 版本不匹配的问题吗?

我正在使用windows.php.net提供的预编译 PHP 二进制文件运行 Windows XP 。我从 PHP 5.2.5 升级到 PHP 5.2.16,现在xsl:include我的一些样式表中的 s 停止工作。连续测试每个版本,我发现它在 5.2.8 中可以正常工作,而在 5.2.9+ 中无法正常工作。我现在得到以下三个错误xsl:include

我认为这是因为它找不到指定的文件。许多包含与正在转换的样式表位于同一目录中,并且在路径中没有目录,即<xsl:include href="fileInSameDir.xsl">. 有趣的是,在第一个和第三个错误中,它显示的 file:// 协议只有一个斜杠,而不是正确的两个。我猜这就是问题所在。(当我使用“file:/”对完整路径进行硬编码时,它会失败,但是当我使用“file://”对完整路径进行硬编码时,它会起作用。)但是是什么原因导致的呢?libxslt/libxml 中的错误?我还发现 libxml 与编译 libxslt 的 libxml 版本之间存在明显的版本不匹配。

5.2.5
libxml 版本 => 2.6.26
libxslt 针对 libxml 版本编译 => 2.6.26

5.2.8

libxml 版本 => 2.6.32
针对 libxml 版本编译的 libxslt => 2.6.32

=== 它从 5.2.9 开始的版本中断 ===
5.2.9
libxml 版本 => 2.7.3
libxslt 针对 libxml 版本编译 => 2.6.32

5.2.16
libxml 版本 => 2.7.7
libxslt 针对 libxml 版本编译 => 2.6.32

在 PHP 5.2.9 之前,libxslt 是针对 PHP 中包含的同一版本的 libxml 进行编译的。但是从 PHP 5.2.9 开始,libxslt 是针对旧版本的 libxml 编译的,而不是 PHP 中包含的。这是分布式二进制文件的问题还是只是巧合?

为了测试这一点,我想 PHP 可以使用不同版本的 libxml/libxslt 构建,以查看哪些组合有效或无效。不幸的是,我已经脱离了 Windows 世界的元素,在 Windows 上构建 PHP 似乎超出了我的想象。

遗憾的是,到目前为止,我一直无法通过我的应用程序之外的示例重现此问题,因此我正在努力缩小范围并且无法提交特定的错误。

那么,你认为这是由

  • 分布式二进制文件中的版本不匹配问题?
  • PHP 5.2.9 中引入的错误?
  • libxml 2.7 中引入的错误?
  • 别的东西?

我难住了。非常感谢任何可以为我指明正确方向的想法。谢谢。

0 投票
1 回答
3830 浏览

xslt - XSL 中的测试参数值类型

我从 LibXSLT 得到这个:

我正在传递一个param可以具有字符串值或节点集的值。我正在尝试测试它是否包含某个子字符串,并在这种情况下将该值分配给另一个参数。

调用模板:

被调用的模板:

虽然我不确定是什么导致了 LibXSLT,但我认为当我运行这些测试并且值是一个字符串时,它会抛出上面的类型错误。

但最重要的是,有没有一种测试参数值类型的好方法?

更新:GitHub 上的完整 XSL 脚本

0 投票
1 回答
421 浏览

python - libxslt 的 applyStylesheet() 产生损坏的 XHTML

我有一个 XML 数据文件,我在 Python 中使用 libxslt 应用 XSL 样式表。事情几乎是完美的,但是<hr/>XSL 文件中的每个实例都被转换<hr>unicode(applyStylesheet()). 这几乎就是我正在做的所有事情:

难道我做错了什么?我是否缺少使输出有效的 XHTML 的选项?

(我目前的计划是附加.replace('<hr>','<hr/>')到该data =行以使其正常工作,但似乎应该有更好的方法。)

0 投票
1 回答
1350 浏览

regex - 如何从 EXSLT 获取 Regexp 在 libxslt 中工作?

有人Regexp在 libxslt 工作过吗?什么时候是,怎么做?

http://www.exslt.org/regexp/index.html

将命令xsltproc --dumpextensions与最新的 libxslt 一起使用时,我没有得到任何正则表达式支持:-(

0 投票
2 回答
709 浏览

unix - 安装 libxslt 时无法链接到正确的 libxml2

尝试安装libxslt-1.1.24但在此期间出现错误./configure说:

libxml2-2.7.3刚刚安装并且可以在/usr/local/include/libxml2

我如何在什么时候libxslt链接到新的?libxml2./configure

0 投票
2 回答
898 浏览

perl - 在 ActiveState Perl 5.8 上安装 XML::LibXSLT

对于 XSLT 处理,我尝试使用 XML::LibXSLT。我在 win32 上有 ActiveState Perl。据我了解,在调用“perl Makefile.PL”之前,我需要先安装 libxslt。

对于 win32 上的 libxslt,似乎二进制文件已经可用,我们可以使用它(因此无需编译和构建 libxslt)。可在 ftp://ftp.zlatkovic.com/libxml/获得

因此,我下载了 libxslt...zip 以及其他依赖项 - libxml、iconv 和 zlib。

但是当我尝试使用命令'perl Makefile.PL'编译它时,我收到错误消息:

因此,随后的“dmake”命令也因抱怨缺少头文件而失败。这是输出:

你能帮我看看我缺少什么配置/设置吗?

0 投票
2 回答
314 浏览

xslt - xslt 变量奇异性

谁能给我解释一下?(使用最新的 libxslt):

结果(@attrib = 1 在当前节点):

<a><b>表现出预期的行为。
<x>恕我直言不正确。
但是为什么要放入@attrib一个变量“修复”它<y>呢?

@attrib is顺便说一句:不存在时一切都是正确的。这里使用的副本用于调试;原来的用法是将 XPath 结果转换为数字,缺少的属性不会导致 NaN,而是某个默认值。