7

パラメータまたは変数の値をvalue-ofselect内のノード名として使用しようとしていますが、これまでのところ失敗しました。

だから私の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>

理想的には、出力を

<Output>John Smith</Output>

XSLTを使用してこれを行う方法はありますか?ユーザーの選択に基づいて適切なノードを選択できるようにしたい。

ありがとう

SK

4

1 に答える 1

5

野蛮な推測、それが機能するかどうか私に知らせてください:

<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>
于 2012-11-28T10:45:50.803 に答える