问题标签 [apply-templates]

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 回答
403 浏览

xslt - XSLT 多个样式表

我有以下xml

我有一些执行调用模板的 XSLT,但它没有正确迭代。

这给了我 4 条记录中的 8 条(<s> level)记录。我知道这与我的迭代有关……但我不确定如何解决这个问题。

我也知道应用样式表,但我也无法解开这个谜团......如果有人可以帮助我使用XSLT,它只会处理从<TopLevel>检查<\TopLevel>级别的 m 值和应用级别<data>的样式表等所有内容<s><s>一张唱片我都会大得难以置信。

0 投票
1 回答
384 浏览

xslt - xsl:apply-templates with params - 如何保存格式?

XSLT 用作模板引擎。我有一些模板结构,它们使用参数相互传输数据:

并调用该模板:

在这种情况下,html 内容中的格式仍然存在,输出为:

但是,如果我尝试指定matchselect<xsl:apply-templates>/result/page而不是/)格式清除。参数page-content相同:

XML 示例:

0 投票
1 回答
64 浏览

xslt - node() 的显式版本是什么

是众所周知的 XSLT 1.0 标识模板

同义词

即 node() 在 match 语句中包含 / 而在 select 语句中不包含 / 是否正确?

0 投票
3 回答
27710 浏览

xslt - 如何仅在 xslt 中选择第一个节点

我的 XML 为我提供了分配给不同 mmid 的多个图像:

我的 XSLT 只选择 size=thumb 的 url:

但是,我只需要第一个 mmid 的缩略图(在本例中为 22404)。我无法控制 mmid 值。

如何停止我的模板,使其仅输出第一个 mmid 的拇指文件?

非常感谢您的帮助!

0 投票
1 回答
507 浏览

xslt - 仅对某些属性值使用 XSLT 1.0 应用模板

我试图通过这种解决方案远离程序方法,但我不确定这是否可行。

这是我的 XML:

我想为所有 37 或 39 的 count/@countIds 应用模板(在此示例中)。这是我所在的位置:

我将有很多带有“模式”的模板,因为我正在以多种不同的方式处理相同的响应。

不知道我是如何错过“范围”匹配而只得到 1 的。

我确信这与我的“程序性思维”有关。:)

对此的任何帮助都会很棒!

谢谢,

0 投票
2 回答
45 浏览

xslt - 在选择中使用 OR 时的 XSLT 排序

当它找到一个或多个 PID 时,有没有办法让它按照 select 语句的顺序排序?

非常感谢您的帮助!

0 投票
1 回答
50 浏览

xml - XSLT 使用 or 选择?

我想知道“|”是什么 在 XSLT 中的应用模板中。

我在想它选择一个或另一个,但它没有。它实际上两者都适用。所以如果“|” 这里不代表 OR(按位)是什么意思?XML 的小片段

0 投票
1 回答
317 浏览

xml - 根据 XSLT 中的真实 XML 标记名称对通过应用模板访问的元素进行排序

有一个这样的 XML:

我想应用以下 XSLT:

我想要这样的输出:

注意 c 的文本应该在 b 的文本之前

我认为需要将 xsl:sort 添加到 apply-templates ,如下所示:

<xsl:sort select='/root/section2/*[concat("#", @xml:id)=current()/@xlink:href][local-name()]' order="descending" />

IE:

但它不起作用。</p>

请注意,排序不能基于 xml:id,因为它可以是任何东西,也不能基于文本(即 datac , datab ,...),因为它们可以是任何东西,因此排序应该基于元素名称(即,) 仅。

我试图了解 select='/root/section2/*[concat("#", @xml:id)=current()/@xlink:href][local-name()]' 的实际值是什么?所以我将它作为参数发送到模板:

令人惊讶的是,它不是元素的名称,而是每个元素的文本(即 DataB 和 DataC 而不是 b 和 c ),甚至 order-type(descending) 也没有被应用。

你能帮我吗,让我知道如何获得这样的输出:

请注意 datac 和 datab 应该只能通过元素访问,这意味着我不能使用

谢谢,

0 投票
1 回答
983 浏览

xml - xsl:apply-templates 是如何准确工作的,为什么它会写 2 次名称?

我正在使用http://www.freeformatter.com/xsl-transformer.html。这是我的 XML 文档:

这是 XSLT 文件:

结果如下:

我知道结果不是很漂亮,我不太在意,但我不明白为什么艺术家的名字被写了 2 次。我该怎么做才能让每个艺术家的名字只出现一次?

0 投票
1 回答
269 浏览

xml - xsl:应用导入到变量?

A.xsl 导入 B.xsl,其中包含 A.xsl 中使用的函数。A.xsl 包含标识模板。B.xsl的函数需要对一个变量应用模板规则;但是,A.xsl 中的标识模板覆盖了它们。

我的想法是指向xsl:apply-importsB 中的变量,但与xsl:apply-templates没有办法将select=其指向变量不同。原始功能不能用模板规则代替。有没有办法在没有xsl:include-ing B.xsl 的情况下做到这一点?

A.xsl:

B.xsl: