1. ホーム
  2. xslt

[解決済み] xsl:value-of select="... "に文字列を連結する方法は?

2022-12-09 16:19:15

質問

<a>
    <xsl:attribute name="href"> 
     <xsl:value-of select="/*/properties/property[@name='report']/@value" />
    </xsl:attribute>
</a>    

に別の文字列を連結する方法はありますか?

<xsl:value-of select="/*/properties/property[@name='report']/@value"  />

レポートプロパティの値に加えて、href属性に何らかのテキストを渡す必要があります。

どのように解決するのですか?

という、なかなかセンスのいい名前のxpath関数を使えばいいのです。 コンカット ここで

<a>
   <xsl:attribute name="href">
      <xsl:value-of select="concat('myText:', /*/properties/property[@name='report']/@value)" />
   </xsl:attribute>
</a>  

もちろん、ここではテキストである必要はなく、要素や属性を選択する別の xpath 式でもかまいません。そして、concat式にはいくつでも引数を指定することができます。

ここで、式を簡単にするために属性値テンプレート (中括弧で表される) を使用することができることに注意してください。

<a href="{concat('myText:', /*/properties/property[@name='report']/@value)}"></a>