我有一些XSLT试图为图像添加URL。到目前为止我已经
了 <xsl:if test="$currentPage/ImageOne != ''">
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="umbraco.library:GetMedia($currentPage/ImageOne, 0)/*"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="$currentPage/ImageOne"/>
</xsl:attribute>
</xsl:element>
</xsl:if>
如果我添加另一个XSLT节点
<xsl:attribute name="a">
<xsl:value-of select="http://somesite.com"/>
</xsl:attribute>
</xsl:element>
然后我得到一个解析器错误(在上面的代码中使用&#34; a&#34;为了添加到该图像的超链接,但没有任何作用。有人建议有什么问题吗?
由于
新代码
<xsl:if test="$currentPage/ImageOne != ''">
<xsl:element name="a">
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="umbraco.library:GetMedia($currentPage/ImageOne, 0)/*"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="$currentPage/ImageOne"/>
</xsl:attribute>
<xsl:element name="href">
<xsl:value-of select="'http://www.microsoft.com'"/>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:if>
答案 0 :(得分:0)
如果您想要将修复网址"http://somesite.com"
添加为属性a
的值
并且你使用xsl:value-of select
你必须将“const”字符串放入撇号('..'
)
尝试:
<xsl:attribute name="a">
<xsl:value-of select="'http://somesite.com'"/>
</xsl:attribute>
</xsl:element>
但您也不需要在示例中使用xsl:element
:
以下也可以这样做:
<img a="http://somesite.com" alt="{$currentPage/ImageOne}">
<xsl:attribute name="src">
<xsl:value-of select="umbraco.library:GetMedia($currentPage/ImageOne, 0)/*"/>
</xsl:attribute>
</img>
要与图片建立链接,请尝试:
<a href="http://somesite.com" ">
<img alt="{$currentPage/ImageOne}">
<xsl:attribute name="src">
<xsl:value-of select="umbraco.library:GetMedia($currentPage/ImageOne, 0)/*"/>
</xsl:attribute>
</img>
</a>