我想使用变量来读取属性值来计算其名称:
<xsl:variable name="TopMan">
<xsl:for-each select="//ALL_RESOURCES/*/*/*">
<xsl:if test="contains(@Name,'Chan' )">
<xsl:variable name="element_name" select="name(..)"/>
<xsl:variable name="FChanSub" select="(//ALL_RESOURCES/*/*[$element_name = name()]/@UsedEle)"/>
<xsl:value-of select="(//ALL_RESOURCES/*[(substring-before($element_name, '_')) = name()]/@[(concat('NEIBR_', $FChanSub)) = name()])"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
第6行有问题。读数值是否正确。基本上,我有一个结构NEIBR_HM1,NEIBR_NR等。我想读取NEIBR_(HM1或NR)中的值。
答案 0 :(得分:0)
如果没有看到您的输入或预期输出,我无法100%确定,但我认为您非常接近:只需更改
@[(concat('NEIBR_', $FChanSub)) = name()]
到
@*[(concat('NEIBR_', $FChanSub)) = name()]