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

xslt - 如何在 xsl:copy 中对所有未选择的属性执行应用模板?

假设我有以下 XSLT:

如何使用选择先前应用模板语句中未指定的所有属性的应用模板语句结束副本?

以下是正确的吗?

0 投票
2 回答
974 浏览

xslt - XSLT - 如何将模板应用于该类型的每个节点?

我对 xsl 和函数式编程还很陌生,因此我将不胜感激在这方面的帮助:

我有一个模板可以转换一些 xml 并提供输出。问题是有许多xs:date类型的元素,都在不同的上下文中,必须本地化。我使用这些 xs:dates 的子字符串串联来生成本地化的日期模式字符串。

正如你可以猜到的那样,这会导致大量的复制粘贴“ substring-this 和 substring-that ”。如何编写一个模板来自动将 xs:date 类型的所有元素转换为保留所有上下文感知转换的本地化字符串?

我的 xsl 是这样的:

我希望我能把我的问题说清楚=)

UPD:这是一个 xml 示例:

至于输出,有很多不同的选择。主要是这些值必须设置为不同html对象的值,比如表格、输入字段等。您可以在 xsl 清单中看到一个示例。

PS我使用的是xsl 1.0。

0 投票
2 回答
7770 浏览

templates - for-each 中的 XSLT 应用模板

我有一个如下所示的 XSLT,并且想apply-templates在元素内部使用,xsl:for-each因此我不必使用“ ” XML 元素<tr>的信息重复该元素。cliente

我正在尝试但没有成功创建一个xsl:templatexsl:apply-templates放入xsl:for-each.

我知道我可以使用xsl:call-template,但是有什么方法可以xsl:apply-templates在里面或外面使用for-each吗?

关于如何做到这一点的任何想法?

0 投票
1 回答
112 浏览

xslt - 如何防止值被覆盖?

我在转换 XML 消息的某些元素时遇到问题。我需要交换一些值,但是在将最后一个节点的值复制到第一个节点后,我无法达到第一个节点的原始值。

我一直在寻找几个小时,并在我的 XSL 中尝试了几种变体,但没有一个能给出令人满意的结果。我不是一个很有经验的 XSL 程序员,但我相信解决方案不会那么困难。我简化了原始消息来解释问题,我希望你们中的一个可以帮助我解决这个问题。让我通过下面的例子来解释:

来源:

期望的转变:

我的 XSLT:

当前结果

请注意,将 的值复制到后,ProcessMessages/RelatedMessages/MessageProcessMessages/Message无法达到默认值,ProcessMessages/Message因为它似乎被覆盖了。

有任何想法吗?如果有人可以帮助我,我将不胜感激!

0 投票
2 回答
13261 浏览

xslt - XSLT 从 Select 中排除一个特定节点

我一直在寻找答案,并尝试了数百种排列,但没有任何效果。

我正在尝试处理一个简单 XML 文档的所有节点,除了第一个<title>节点。基本上,我正在尝试找到一个 xslt 指令来完成确切的 INVERSE

这是我的源 XML:

这是我的 XSLT(我最初认为应该在调用应用模板时使用):

这就是我看到的(注意没有第一<title>件事):

我可以使用什么选择表达式来完成此操作?

0 投票
1 回答
97 浏览

templates - 如何排除xml中的子元素?

我有以下 xml:

在这里,我必须排除州为 CT 的人的地址字段,而包括州为 NY 的人的地址。

0 投票
1 回答
903 浏览

xslt - 如何在本身使用 xsl 生成的节点上使用 xsl:apply-templates?

我有一个这样的xml:

我需要它变成这样:

所以,基本上,如果具有该reference属性的元素是一个跨度,我们就让它保持原样,添加class="referenceText". 但是,如果它是任何其他元素,那么我们还应该应用为该元素创建的模板。这就是为什么<term>应该成为<i>- 我有一个模板:

对于具有reference属性的所有元素的转换,我有这个模板:

不幸的是,这会导致以下输出:

所以,<term>不转换成<i>. 看起来我需要某种递归来将模板重新应用于生成的内容,但我想不出任何东西。

0 投票
2 回答
49 浏览

templates - XSL 页面链接

我是 XSL 的新手,如果我的问题太简单,请原谅。

看代码

所以我有页面 showall.xsl。如何将 xslt 模板与该页面连接?因为现在我的页面(showall)是空的。你能给我一些例子吗?

0 投票
2 回答
922 浏览

templates - XSLT 1.0:将条件放入匹配属性或应用模板?

<xsl:template match="">我有一个关于和的一般性问题<xsl:apply-templates/>

我有匹配元素的情况E1EDP01。但是不是所有E1EDP01的元素都应该匹配,只有一定的范围。

但是现在只匹配一定范围的元素的正确方法是什么?

这样做是否正确:

以及限制范围的模板E1EDP01

还是我必须将应用模板更改为:

0 投票
1 回答
69 浏览

xslt - 传递参数解析导入文件

wsdl:import在解析 WSDL 时,我遇到了许多xsd:import元素。我想解析导入并将@locationor传递@schemaLocation给解析器。

目的是让文件列表在导入的文件导入文件时增长filea.wsdl;filez.xsd;filev.xsd。这样我可以消除以前导入的文件。

我会沿着这些思路思考: