我在XSLT中创建了这个变量:
如果用户未在CMS中输入内容,我想隐藏它。我在XSLT中添加了一个CHOOSE声明,但发现我无法使用' style'在变量上。我是XSLT的新手。
以下代码......
<table>
<tr>
<td>
<xsl:choose>
<xsl:when test="not($thirdBlogPost)">
<xsl:variable name="thirdBlogPost" style="display:none"/>
<!--Use of 'style' on a variable isn't allowed-->
</xsl:when>
<xsl:otherwise> <!--parameter has been supplied --> </xsl:otherwise>
<td><img src="images/{$thirdBlogPost/@Image}" class="blog-front-image" /></td>
<td>
<h1><xsl:value-of select="$thirdBlogPost/@Title"/></h1>
<xsl:value-of select="$thirdBlogPost/@Abstract" disable-output-escaping="yes"/>
<br />
<a href="{$thirdBlogPost/@URL}">Read more...</a>
</td>
</xsl:choose>
</tr>
</table>
答案 0 :(得分:0)
XSLT标记由您用于执行XSLT转换的任何内容处理 - 它们不会显示为HTML的一部分(它们不会显示)。
所以不需要 style 属性 - 该变量在网页上不可见。
答案 1 :(得分:0)
xsl:variable
的语法是
<xsl:variable
name = QName
select = Expression
</xsl:variable>
因此,如果您尝试使用值display:none
定义变量,则需要编写(注意,因为该属性包含文字字符串,所以字符串必须在引号内):
<xsl:variable
name = "thirdBlogPost"
select = "'display:none'"
</xsl:variable>
你可以使用这样的值:
<div style="{$thirdBlogPost}">this won't display</div>