问题标签 [xslt-2.0]

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 投票
2 回答
4189 浏览

xslt - 使用 XSLT 进行模式匹配

我正在尝试使用 match 函数将模式匹配到 XSLT/XPath 中的字符串,如下所示:

但是,在 Firefox 3.5.9 和 IE8 中,它都没有出现。IE8 告诉我“'matches' 不是有效的 XSLT 或 XPath 函数”。这是因为不支持 XSLT 2.0,有没有办法解决这个问题?

0 投票
5 回答
2501 浏览

xml - 仅使用 XSL 读取远程压缩 xml

我想知道 XSLT 文件是否可以从位于远程 zip 文件夹中的 XML 读取数据(来自工作中的服务器),无需任何外部处理器(saxon 等)且无需下载。

如果做不到这一点,我将求助于从 zip 中读取信息......这将我带到了我的另一个(newb)问题。

我目前有一个 XSLT,它可以访问并从下载和提取的 XML 文件中获取数据,但如果不提取它,我就无法做到这一点。我已经读过 Altova 和 xslt 2.0 可以使用 document() 函数从 zip 文件中读取,但到目前为止我还没有实现这一点。

这就是我尝试这样做的方式: document('name.zip|zip/folder/folder2/iwantthis.xml')

它似乎没有找到该文件。如果您向我展示我的方法的错误并引导我进入 XSLThood,我将永远感激不尽。

非常感谢你

0 投票
2 回答
765 浏览

java - xslt help - 删除空标签并用空标签替换 *

在我的 java 程序中进行一些 XSLT 预处理时遇到问题。当大型机程序想要清除一个值时,我们会从它那里得到一个星号 (*),我的 java 进程必须将其视为空白或空标记。因此,我们在我的 jaxb 进程之前将 xslt 应用于输入。

我们正在应用这个 xslt :

上面的 xslt 几乎适用于所有测试用例。除非只有一个子元素并且恰好是一个星号。

例如在输入中考虑这个:

效果很好。它产生这个输出:

但是,下面的 xml 输入会产生不正确的响应。

但是,而不是给出响应

它给出了这个:

请帮忙。感谢任何帮助,因为我在测试我的代码时没有这个测试用例。

0 投票
2 回答
1490 浏览

xslt - XSLT2 format-dateTime - 没有点/句点的 AM/PM

这是 XSLT 2 format-dateTime 函数的问题。

请谁能告诉我如何使 AM/PM 显示不带点/句点(AM/PM)?

下面的代码返回空白?

谢谢,威尔

0 投票
1 回答
640 浏览

regex - XSLT 2.0 正则表达式问题(在不同匹配项上打开和关闭元素)

我已经稍微简化了这个问题,但我希望我仍然抓住了我的问题的本质。

假设我有以下简单的 XML 文件:

然后我可以使用以下 XSLT 2.0:

将其转换为以下内容:

以下是问题:

多个正则表达式

有没有更好的方法来匹配两个不同的正则表达式,而不是像上面所做的那样将它们嵌套在另一个中?

  • 如果它们不容易像这样嵌套怎么办?
  • 我可以有 XSL 模板来匹配和转换 regex 匹配text()吗?
    • 在这种情况下,我有两个模板,每个正则表达式一个
    • 如果可能,这将是理想的解决方案

正则表达式匹配的打开和关闭元素

显然,而不是:

我最终真正想要的是:

那么你会怎么做呢?我不确定是否甚至可以在一个正则表达式匹配中打开一个元素并在另一个匹配中关闭它(即如果没有匹配更接近怎么办?结果将不是格式良好的 XML!),但它似乎这项任务非常典型,必须有一个惯用的解决方案。

注意:我们可以假设部分不会重叠,因此也不会嵌套。我们还可以假设它们总是成对出现。


附加信息

所以本质上我正在尝试完成 Perl 中简明扼要的事情:

我正在寻找一种在 XSLT 中执行此操作的方法,因为:

  • 就正则表达式匹配的上下文而言,它会更加健壮
    • (即它应该只转换text()节点)
  • 它在匹配各种 XML 实体方面也会更加健壮
0 投票
3 回答
109228 浏览

xml - XSL xsl:模板匹配="/"

我只是在学习 XML 以及如何使用 XSL 文件。在一个 XSL 文件中,我发现了以下术语:

这代表什么?我可以用什么代替/?我可以写table或任何其他 HTML 标记来代替/吗?

0 投票
4 回答
15523 浏览

xslt - XSLT:查找字符串中的最后一次出现

给定一个表格编号,例如:

我想结束:

所以我需要找到第二个下划线的位置

请注意,下划线之间的任何“部分”都没有标准模式或长度(因此我不能使用子字符串来简单地消除最后一部分)。

xPath 2.0 解决方案还可以。

0 投票
1 回答
427 浏览

xslt-2.0 - 复杂的 XSL 转换

我仍然是 XSLT 的初学者,但我手头有一项艰巨的任务。

我有一个需要转换的非 xml 文件。文件格式如下:

类型 ( type1, type2, ...) 是使用某些没有特定顺序的代码指定的。每种类型line下面都有多个。

所以,我需要转换这个文件,但问题是,对于每个文件,type我必须对它的每个底层行进行不同的转换。

现在,我可以逐行读取字符串并确定新类型已经开始,但我不知道如何设置标志(指示类型)以在基础行中使用它。

这是我现在所拥有的:

关于如何解决问题的任何想法。

0 投票
2 回答
5083 浏览

xslt - 仅去除前导空格

给定元素:

如何去除可能是多个前导空格字符的内容。我不能使用规范化空间,因为我需要保留换行符等。XSLT 2.0 好的。

0 投票
1 回答
1796 浏览

xslt - 两阶段处理:不要从阶段 1 XSLT 2.0 处理中输出空标签

我有一些复杂的 XSLT 2.0 转换。我试图找出是否有通用方法来确保不输出空标签。所以......从概念上讲,递归删除所有空标签的最后一个处理阶段。我知道这可以通过一个单独的 XSLT 来完成,该 XSLT 只过滤掉空标签,但我需要将它们全部打包在一个单独的 XSLT 中。