我的xml看起来像这样
<Component name="super.useful.component">
<StringValue name="component.title.1">
<Value>some value</Value>
</StringValue>
<StringValue name="component.title.2">
<Value>some more value</Value>
</StringValue>
</Component>
我想做的就是将名称作为参数。
我的xsl看起来像这样:
<xsl:call-template name="showComponents">
<xsl:with-param name="container" select="//Component/StringValue[@name????]/>
</xsl:call-template
因此,当我调用它时,它可以具有组件的两个名称。
<xsl:template name="showComponents">
<xsl:param name="container" />
<xsl:for-each select="Component[@name='$container']>
//do stuff here
答案 0 :(得分:1)
我认为你正在摸索xpath以获取AA(i,:) = complex(i + sqrt(i));
元素的属性name
。如果是这种情况,则xpath选择器将为:
StringValue
答案 1 :(得分:1)
好像你已经从@svasa获得了部分答案,但是还要注意,你几乎肯定不是你想要的
<xsl:for-each select="Component[@name='$container']>
而是
<xsl:for-each select="Component[@name=$container]>
否则你将根据字符串'$container'
进行字面测试,而不进行变量评估。