1

この問題で正しい方向に私を向けるのを手伝ってくれることを願っています...

私がしようとしていること: XSLT を使用して HTML に変換する XML ファイルがあります。その一部には、「非表示」ボタンの追加が含まれます。非表示ボタンを使用して XML からノードを削除したいのですが、関連する XML 要素の myId 属性と同じ ID をボタンに与えることで、ボタンの onClick と XML を簡単に一致させることができます。非表示にする要素。

XML の一部を次に示します。

<sectionStatement myId="1">Awesome statement</sectionStatement>
<sectionStatement myId="2">I am a statement</sectionStatement>
<sectionStatement myId="3">I am another statement</sectionStatement>

これは、私が立ち往生した XSL の一部です。

<xsl:for-each select="sectionStatement">
  <p><xsl:value-of select="."/><a class='showHideBtn' href='#'>Hide</a></p>
</xsl:for-each>

...だから、それぞれに「非表示」ボタンが付いた 3 つの html パラグラフを作成し、ボタンに関連する ID (1、2、または 3) を設定したいと考えています。タグに追加するのと同じid="<xsl:value-of select='@myId'/>"です...しかし、私はそれを試しましたが、うまくいきません!

アドバイスありがとうございます :-) マーク

4

2 に答える 2

1

属性値テンプレートを使用します<a id="{@myId}" class="showHideBtn" href="#">Hide</a>

于 2012-10-26T16:16:09.663 に答える
0

xsl:attributeを使用して、動的な条件付き属性を追加し、テンプレートを要素に適用できます。

<p>
   <xsl:attribute name="id">
    optionalText<xsl:value-of select="@myId"/>
   </xsl:attribute>
</p>

値が既にわかっている場合、変換構文はより単純になります。

<xsl:for-each select="sectionStatement">
  <p><xsl:value-of select="."/>
    <a class='showHideBtn' href='#' id='{@myId}'>
    Hide
    </a>
  </p>
</xsl:for-each>
于 2012-10-26T16:15:03.563 に答える