问题标签 [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.
xslt - XSL 中的“调用模板”和“应用模板”有什么区别?
我是 XSLT 的新手,所以我对这两个标签有点困惑,
和
那么你能列出它们之间的区别吗?
xslt - 使用 xsl:apply-templates 处理字符串
我有一个看起来像这样的xml,
在渲染父级时,我必须保留换行符和缩进,而且还要对每个子标记应用突出显示模板。
现在,当我在变量中捕获父标记的内容以在 XSL 中进行一些字符串处理时,我丢失了底层 xml 结构并且无法将突出显示模板应用于子项。
然而,我想不出任何其他方法来保留父标记中包含的文本的换行符和缩进。
有任何想法吗?
xslt - XSLT 应用模板递归的厄运!
我必须遵循 XML 文档结构:
为了让事情保持干燥,这个想法是有许多不同的问题,它们共享共同的选项集。然后可以使用 XSLT 构建这些。我的模板如下:
这个想法是,一旦顶部模板与我的问题匹配,我将得到如下所示的内容:
...然后可以与底部模板匹配并放入我的 HTML 文档中。我的问题是如何创建实际执行此操作的(顶部)模板。我很接近,但这仍然不起作用:
转换后的问题块及其选项被复制到文档中,而不是被顶部模板拾取并制作成漂亮的 HTML。
如果我尝试这样做,<xsl:apply-templates select="."/>
我就会陷入无限循环。
xml - 在同一级别为同一 XML 元素呈现不同的模板
XML:
尝试生成为同一元素应用两个不同的模板。
主模板:
如果我将模式添加到第一个模板,两者都不会呈现。
也试过:
使用不同的模板应用为:
两者中只有一个(呈现具有指定模式的第一个)。IE
不渲染
或
<xsl:template match="Elements" mode="Different" />
渲染两次。
我应该如何解决这个问题?在我研究的任何地方,它都建议优先考虑模式。这么多程序员都使用它,一定很简单吗?
xslt - XSLT 1.0:应用模板和模板模式
我有以下 XML:
有时在item
标签内我有 element <LINE_FREE_STOCK>
。如果发生这种情况,我必须在输出 XML 中创建一个额外的位置。
现在我想出了这个样式表:
它创建了这个(简化的)想要的输出:
804-008165 和 804-008161 出现两次 - 一次作为标准项目,一次作为具有相应数量的免费库存项目。
但是我在这里忘记了什么吗?有什么我看不到的陷阱吗?XSLT 足够健壮吗?
xslt - 变量函数中的xslt动态/条件应用模板?
我想根据用户想要的功能显示两种不同的 XSLT 转换。整个 XSL 文件是相同的,除了一行。
这条线应该是这样
或作为它
我的第一个想法是创建两个不同的 .xsl 文件,并将它们(javascript)应用于变量值的函数中。
但是,它只是一行,我只想维护一个文件。我想做这样的事情
但它不起作用。
尝试使用 xsl:apply-templates 中的功能“模式”,此代码均不起作用
-> http://www.xsltcake.com/slices/sgWUFu/2
- 此代码不正确,因为 xsl:choose 不能是 xsl:stylesheet 的子级
已解决(在下面进行了改进),这是实现我想要的代码
改进:最终代码更容易阅读,此处重复的代码更少
我保留 apply-template 调用是因为我需要它,但没有它们(如在原始代码中,请参阅注释)甚至更简单。
再次感谢,不仅是为了回答,也是为了教授 XSLT :)
xml - XSLT 应用模板和字符串操作
我有一些像这样的 XML:
我无法更改 XML,我需要去掉段落开头的 (5),并使用父标记中的 number 属性创建一个带有适当标记的新段落编号:
问题是段落的其余部分可能包含更多需要转换的 XML,例如示例中的链接标记。
一旦我使用了 substring-after 函数,我不知道如何将模板应用于此。
xml - 在 xslt 内部生成的元素上调用 xslt 模板
所以我使用 XSLT 的标识设计模式:
而且我确实有很多模板匹配不同的节点。现在我想做的是在一个 xsl:template 中生成一些代码,并让另一个 xsl:template 匹配新生成的代码。有谁知道如何做到这一点?
我想做的例子:
xml - XML 和 XSLT 应用模板选择
这是 XML 文件:
这是 XSLT 文件:
输出是:
XSLT 中 root 的开始
监督布莱克控制
XSLT 中根的结尾
我的问题是,为什么 Alexis 和 Employee2 不是输出的一部分?他们都在<person>
元素之下......
xslt - 如何对 xsl:copy 中的所有非选定元素执行应用模板?
假设我有以下 XSLT:
我意识到如果有其他节点类型,例如 DTS:Variable,它们将从生成的 XML 中过滤掉,因为没有 apply-templates 语句选择它们。
我的问题是:如何用一个 apply-templates 语句来结束副本,该语句选择之前的 apply-templates 语句中未指定的所有元素?
我试过类似的东西:
但这似乎不起作用。