gpt4 book ai didi

xslt - 具有更长 [和几乎相同] Xpath 的标签数量的简写

转载 作者:行者123 更新时间:2023-12-03 15:46:51 26 4
gpt4 key购买 nike

例如:这是一个xslt

<xsl:template match="/root/sub-root/parent/child/grand_child/dummy1/dummy2/dummy3/dummy4/node_1
|/root/sub-root/parent/child/grand_child/dummy1/dummy2/dummy3/dummy4/node_2
|/root/sub-root/parent/child/grand_child/dummy1/dummy2/dummy3/dummy4/node_3
.
.
|/root/sub-root/parent/child/grand_child/dummy1/dummy2/dummy3/dummy4/node_N"/>

在上面的代码中我可以使用XPath吗/root/sub-root/parent/child/grand_child/dummy1/dummy2/dummy3/dummy4仅一次 [使用大括号或其他] 并减少代码的体积?

如您所见,所有节点都是彼此的兄弟节点,因此除了它们的名称外,它们的 Xpath 是相同的。有没有简写属性?

XSLT 1.0(或 Xpath1.0)允许吗?

最佳答案

问问自己长的特定匹配表达式是否真的有必要。我看到这只是一个示例,但您实际上不必包含元素的完整路径,只需尽可能多地使其明确即可。

此外,我提醒您 self 轴:

<xsl:template match="/.../dummy4/*[self::node_1 or self::node_2 ...]" />

如果名字是结构化的和可预测的,你可以这样做

<xsl:template match="/.../dummy4/*[substring-before(name(), '_') = 'node']" />

关于xslt - 具有更长 [和几乎相同] Xpath 的标签数量的简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2513745/

26 4 0