gpt4 book ai didi

xml - 选择与字符串变量名称匹配的节点集(属性或元素)

转载 作者:行者123 更新时间:2023-12-03 16:13:40 25 4
gpt4 key购买 nike

考虑这个简单的 xml 元素示例:

<parent foo="1" bar="2" foobar="3">
<child/>
</parent>

在 xsl 文件中,我处于“父”的上下文中(即在

最佳答案

这将选择一个名为 'foo' 的属性。 .

<xsl:call-template name="print-value-of">
<xsl:with-param name="attribute-type" select="@*[name() = 'foo']"/>
</xsl:call-template>

<xsl:template name="print-value-of">
<xsl:param name="attribute-type"/>
<xsl:value-of select="."/>
</xsl:template>

或者,您可以留下 <xsl:call-template>就像这样,并在您的模板中进行更改:
<xsl:template name="print-value-of">
<xsl:param name="attribute-type"/>

<xsl:value-of select="@*[name() = $attribute-type]"/>
</xsl:template>

无论如何,除非这只是一个综合示例,否则以上所有内容都是一种非常昂贵的说法:
<xsl:value-of select="@*[name() = $attribute-type]"/>

编辑:

要使用动态名称创建属性,请使用:
<xsl:attribute name="{$attribute-type}">
<xsl:value-of select="$some-value-or-expression" />
</xsl:attribute>

请注意,大括号使 XSLT 处理器评估它们的内容(仅在属性值中)。

您应该确保 $attribute-type包含符合 XML 命名规则的字符串。您应该考虑将变量重命名为 $attribute-name ,因为就是这样。

关于xml - 选择与字符串变量名称匹配的节点集(属性或元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1300195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com