如何在xslt中添加图像alt文本?

时间:2014-09-22 19:23:56

标签: xml xslt

如何在xslt中添加替代文字?它与xhtml不同吗?我尝试过xhtml方式 alt =“点击进入下一张图片。” 但它没有出现。

- 更新 以下是我的代码示例:

    <xsl:template name="Paging">
    <xsl:if test="$NumPages > 1">
        <div class="productListPaging">
        <xsl:if test="$CurrentPage > 1">
            <div class="productListPagingContent floatLeft">
                <a href="{$PreviousPageURL}">
                    <img class="productListImage" src="App_Themes/skin_{$SkinID}/customimages/BackGreen.png" alt="@alt" />
                        <xsl:value-of select="aspdnsf:StringResource('Mobile.Paging.Previous')" disable-output-escaping="yes" />
                    </a>
                </div>
            </xsl:if>
            </div>
       </xsl:if>
    </xsl:template>

1 个答案:

答案 0 :(得分:0)

根据实际的XSLT和输入(我假设您处理一个xml),您可以将alt-text添加为任何其他元素属性作为图像的属性,如果您已经进入匹配图像和图像的模板将在输入中命名为<image>

<xsl:template match="image">
<img>
   <xsl:attribute name="alt">
    <xsl:value-of="@alt"/>
   </xsl:attribute>
</img>
....

或 - 如果您正在使用XSLT 2.0 -

<img>
 <xsl:attribute name="alt" select="@alt"/>
</img>

或只是

<img alt="{@alt}"/>

(只是为了有一些变化)。

更新:作为OP中提供的实际XSLT的一部分,提到的方法不会起作用,因为它不是匹配图像元素的模板,而是添加的图像到输出。 我认为Michael Kay在评论中给出的建议应该有用 - 只需添加alt =&#34;点击进入下一步&#34;像这样的形象:

<img class="productListImage" 
     src="App_Themes/skin_{$SkinID}/customimages/BackGreen.png"
     alt="click to go next" />