2012-11-28 7 views
6

値の選択内でノード名としてパラメータまたは変数の値を使用しようとしていますが、これまでに失敗しました。ノード名としてパラメータまたは変数の値を使用する方法は?

XMLは以下のとおりです。

<Data> 
<Name>John Smith</Name> 
<Date>28112012</Date> 
<Phone>iphone</Phone> 
<Car>BMW</Car> 
</Data> 

私の不完全なxsltは以下のようになります。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    version="2.0" 
    exclude-result-prefixes="#all"> 

<xsl:param name="nodename" select="'Name'"/> 

<xsl:template match="/Data"> 

     <Output> 
     <xsl:value-of select="{$nodename}"/> 
     </Output>  
</xsl:template> 

</xsl:stylesheet> 

は、理想的には私は私はこの使用してXSLTを行うことができますどのような方法があります

<Output>John Smith</Output> 

ように置くアウトをしたいですか? 私は、ユーザーの選択に基づいて適切なノードを選択できるようにします。

おかげ

SK

答えて

4

野生の推測、それが動作するかどうか私に教えて:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" exclude-result-prefixes="#all"> 

<xsl:param name="nodename" select="'Name'"/> 
<xsl:template match="/Data"> 
    <Output> 
     <xsl:value-of select="//*[name()=$nodename]" /> 
    </Output>  
</xsl:template> 

</xsl:stylesheet> 
+0

あなたがたのおかげで、私はちょうど同様に自分自身をそれを考え出しました! – user1859463

+0

@ user1859463私はそれが動作すると思います。 XD – xiaoyi

関連する問題