希望你能帮我指出这个问题的正确方向......
我想做什么: 我有一个XML文件,我使用XSLT转换成HTML。部分内容包括添加"隐藏"按钮。我想使用隐藏按钮从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,其中我是&#39;陷:
<xsl:for-each select="sectionStatement">
<p><xsl:value-of select="."/><a class='showHideBtn' href='#'>Hide</a></p>
</xsl:for-each>
...所以我想最终得到3段html,每个都有一个&#34;隐藏&#34;按钮,我希望按钮具有相关的ID(1,2或3)。这相当于在标记中添加id="<xsl:value-of select='@myId'/>"
...但我已经尝试过,但它不起作用!
感谢您的建议:-) 标记
答案 0 :(得分:1)
使用属性值模板<a id="{@myId}" class="showHideBtn" href="#">Hide</a>
。
答案 1 :(得分: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>