是否可以將xsl變量中的文本添加到html標籤的內部,如下所示?XSLT:在html標籤內添加文本
<xsl:variable name="selected">
<xsl:if test="@class = 'selected'"> class="selected"</xsl:if>
</xsl:variable>
<li{$selected}></li>
是否可以將xsl變量中的文本添加到html標籤的內部,如下所示?XSLT:在html標籤內添加文本
<xsl:variable name="selected">
<xsl:if test="@class = 'selected'"> class="selected"</xsl:if>
</xsl:variable>
<li{$selected}></li>
嘗試這種情況:
<xsl:element name="li">
<xsl:if test="@class = 'selected'">
<xsl:attribute name="class">
selected
</xsl:attribute>
</xsl:if>
</xsl:element>
任選地,xsl:if
可以嵌套在xsl:attribute
,代替周圍的其他方法,如果一個class=""
是期望的。如前所述,將其作爲文字文本編寫是不明智的。
你不應該試圖把它寫成文字文本,而應該看看xsl:element和xsl:attribute。粗例如:
<xsl:element name="li">
<xsl:attribute name="class">
<xsl:value-of select="$selected" />
</xsl:attribute>
</xsl:element>
請注意,如果你足夠細心,使之成爲第一個孩子,你可以直接使用<xsl:attribute>
您<li>
標籤內,而不是使用<xsl:element>
<li>
<xsl:if test="$selected">
<!-- Will refer to the last opened element, li -->
<xsl:attribute name="class">selected</xsl:attribute>
</xsl:if>
<!-- Anything else must come _after_ xsl:attribute -->
</li>
爲了易讀,最好避免不必要的xsl:元直接調用並嵌入li元素。 – 2009-08-03 06:12:53