问题标签 [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 回答
192 浏览

xslt - 使用分组将文本放在一起然后进行测试

所以在这个难看的挤压排版产品中,我有时会看到链接和电子邮件地址被分开了。例子:

期望的输出:

元素之间似乎没有出现空白,这是一种祝福。

我可以告诉我需要在 p 模板中使用 xsl:for-each-group,但我不太明白如何通过 contains() 函数将组合文本从组中放入,以便区分电子邮件和 URL。帮助?

0 投票
1 回答
963 浏览

sorting - 在 XSLT 2.0 中排序 xml 的问题有什么想法吗?

您好,我正在尝试按元素“答案”与属性“ id ”的出现次数对我的 xml 进行排序,并获得简单的摘要。


我想要简单的输出摘要文本:

A = 2 次
C = 2 次
B = 1 次

在 XSLT 2.0 我试过:

但它不起作用:
在 XMLSpy 2008 中:
“XPath 2.0 表达式中的错误不是节点项”

在 Saxon 9 中:
XPTY0020:前导 '/' 无法选择包含上下文项的树的根节点:上下文项是原子值
编译样式表失败。检测到 1 个错误。

0 投票
1 回答
517 浏览

xslt - 将 XSLT 模板/函数键入为序列构造函数?

很简单,是否可以键入 XSLT 模板或函数以返回命名序列构造函数?

例如,在FpML中,有 Product.model 组,它只包含两个元素(ProductType 和 ProductId)。我希望能够创建一个返回该序列的类型化模板,但不知道“as”属性应该包含什么。

更新

为方便起见,我将包含 FpML 架构的相关位:

所以,我希望能够输入一个模板作为这个 xsd:group。这甚至可能吗?

0 投票
1 回答
1011 浏览

xslt - 从 XSL 文件中获取样式表目录 - 用于可配置的 xml 位置

我有一个用于 xml 的 xsl 文件。xml 文件的位置应该是可配置的(通过在 xml 中配置样式表的 href 路径来完成),但是 xsl 使用一些图像和一些其他 javaScript 文件,并且需要它们的路径。该路径就在样式表文件附近,因此一旦我可以获取 xsl 目录,我就可以找到它们。例如:在我的 xml 我有:?xml-stylesheet type="text/xsl" href=".\Files\Style\test.xsl"> 我想从 xsl 中指向“.\Files\Style”对于图像的位置,我可以这样做吗

0 投票
2 回答
5633 浏览

regex - 如何使用 XSLT 2.0 和 REGEX(没有 \b 单词边界)在文本中查找单词?

我正在尝试使用 REGEX 扫描一串单词并在 XSLT 2.0 样式表中查找特定单词(不区分大小写)的存在。

我有一个我希望迭代并确定它们是否存在于给定字符串中的单词列表。

我想在给定文本中的任何地方匹配一个单词,但我不想一个单词内匹配(即搜索foo应该匹配“ d”,搜索应该匹配“re ”)。foobarbar

XSLT 2.0 REGEX 没有单词边界(\b),所以我需要尽可能地复制它。

0 投票
1 回答
931 浏览

xslt - XSLT:用作数字谓词的属性值

给定

表达方式

如预期的那样,返回一个包含一个值为“Timestamp”的文本节点的节点集。

稍后在模板中,上下文元素具有属性

我尝试以下表达式,但都返回一个空字符串:

但是,以下序列可以满足我的要求

使用 Oxygen/XML 的调试器,我已经走到了即将评估表达式的地步,并在监视窗口中显示以下内容:

显然,我错过了有关如何将属性节点原子化以用于谓词的基本知识,但在文档(Michael Kay 的 XSLT/XPATH 2.0,第 4 版)中找不到任何可以解释这种差异的内容。

有人可以解释为什么会发生这种情况,并指出在 XSLT 2.0 规范或 Michael Kay 的书中描述的地方吗?

(XSLT 处理器是 Saxon-PE 9.2.0.3)

0 投票
2 回答
244 浏览

xml - XML 转换元素出现在文档中的错误位置

我在使用 XML 转换时遇到了一些问题,需要一些帮助。

样式表应遍历所有后缀元素,并将不带后缀标签的内容放在其第一个祖先引用块元素中的最后一个文本节点旁边(请参阅所需的输出)。它仅在存在单个后缀时起作用,但在存在 2 时不起作用,当存在 2 时,它将两个后缀彼此相邻放置在第一个引用块的最后一个文本节点中。

有任何想法吗?我曾尝试在各个地方将选择限制为祖先::quote-block[1],但这并没有达到预期的效果。

源 XML

样式表

当前输出 XML

期望的输出

0 投票
2 回答
2895 浏览

xml - 将标签添加到自定义自结束标签之间的所有文本节点

我在我的 xhtml 的命名空间 x 中定义了一对自定义的自结束标签 s1 和 s2。对于具有相同 id 的每个标签对 s1、s2,我想将 span 标签添加到它们之间的所有文本节点。每个 s1、s2 标签对都有一个唯一的 id。我正在寻找基于 XSL 的解决方案。我正在为 XSL 使用 Saxon java 处理器。

样本输入:

样本输出:

0 投票
1 回答
2369 浏览

xml - 如何使用 XSL 选择两个元素之间的所有文本节点?

我想在 node 之后和 node 之前获取generate-id(.)所有文本节点的。我正在寻找一些通用的 XSL,而不是与下面提到的示例输入模式紧密耦合。对于任何输入模式,我想获取 node和.<m/></n><m/><n/>

示例输入以便更好地理解:

预期输出:生成文本节点的 ID,其值为“第三个文本节点”、“另一个文本节点”、“这是我的第四个文本节点”、“这是我的第五个”,它们位于节点<m/><n/>

请给出你的想法。

0 投票
1 回答
238 浏览

xml - 如何修改 XSL 以更改 xml 格式

在下面的 XSL 中,每次 xsl:when 得到满足时,我都想附加尽可能多的<a> 和</a> 标记。但是需要在标签内填充的数据应该只有一次。我在最后展示了预期的输出。

电流输出:

<?xml version="1.0" encoding="UTF-8"?> <a>我的文字</a> <a>我的文字</a> <a>我的文字</a> <a>我的文字</a>

我希望模板“populateTag”以以下格式向我返回 xml。我如何修改模板“populateTag”以达到相同的效果。

模板“populateTag”的预期输出: <?xml version="1.0" encoding="UTF-8"?> <a> <a> <a> <a>我的文本</a> </a> </a> </a>

请给出你的想法。