xslt は私にとってかなり新しいものです。以下の私のコードに似たようなことをすることは可能ですか? 他のテンプレート言語で可能であることは知っています。
<div class="<xsl:if test="position()=1">myclass</xsl:if>">Hello</div>
xslt は私にとってかなり新しいものです。以下の私のコードに似たようなことをすることは可能ですか? 他のテンプレート言語で可能であることは知っています。
<div class="<xsl:if test="position()=1">myclass</xsl:if>">Hello</div>
をラップすることができxsl:attribute
ますxsl:if
...
<div>
<xsl:if test="position()=1">
<xsl:attribute name="class">myclass</xsl:attribute>
</xsl:if>
<xsl:text>Hello</xsl:text>
</div>
xsl:attribute
また、XSLT 2.0 では、次のように記述できます。
<xsl:attribute name="class" select="'myClass'"/>
XSLT 2.0 のもう 1 つのオプションは、空であってもかまわない場合は、AVT ( Attribute Value Template )で anclass=""
を使用することです。if
<div class="{if (position()=1) then . else ''}">...</div>
then
コンテキストによって異なる場合があります。
次のようになります。
<xsl:variable name="myclass" select="variablenode" />
<div class="adf">
<xsl:if test="yournode[position()=1]">
<xsl:value-of select="$myclass"/>
</xsl:if>
Hello</div>
ただし、ソース XML、これまでの XSLT、および予想される出力をお知らせください。そうでなければ、推測することしかできません。