【问题标题】:Use XSLT Variable as Field Name使用 XSLT 变量作为字段名称
【发布时间】:2009-03-24 17:22:31
【问题描述】:

我有一个 XSLT 变量,我正在创建它并使用样式表顶部的属性值填充,如下所示...

    <xsl:variable name="MyAttributeValue" select="/Source/Fields/Field[@SpecialAttribute]/@MyAttributeValue" />

稍后在处理过程中,我想将 $MyAttributeValue 用作 字段名称,就像使用硬编码字符串一样。例如:

<xsl:value-of select="MyField"/>

这将在 XSLT 处理时正确返回 XML 中 MyField 的值。我想使用我之前定义的变量来执行此操作。例如:

<xsl:value-of select="$MyAttributeValue"/>

所以,$MyAttributeValue 包含“MyField”,但我希望显示 XML 中 MyField 的 value,而不是在使用变量。

如何做到这一点?

谢谢!

【问题讨论】:

    标签: xslt variables field


    【解决方案1】:
    <xsl:value-of select="*[local-name() = $MyAttributeValue]" />
    

    将返回名称等于$MyAttributeValue 内容的每个子元素节点。

    如果您的变量包含命名空间限定名称,例如 "foo:MyField",请改用 name() 函数:

    <xsl:value-of select="*[name() = $MyAttributeValue]" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-24
      • 2019-10-01
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多