您好我有关于XSL的问题。我尝试选择文件名为'img_'的目录中的所有图像。目前我的代码是这样的:
<div class="flex-container">
<div class="flexslider">
<ul class="slides">
<xsl:for-each select="entry/fields/*[@type = 'image']">
<img>
<xsl:attribute name="src">
<xsl:value-of select="data/@image"/>
</xsl:attribute>
</img>
</li>
</xsl:for-each>
</ul>
</div>
</div>
我试过的是这个
<div class="flex-container">
<div class="flexslider">
<ul class="slides">
<xsl:for-each select="entry/fields/*[@type = 'image' contains( ., 'img_' )]">
<li>
<img>
<xsl:attribute name="src">
<xsl:value-of select="data/@image"/>
</xsl:attribute>
</img>
</li>
</xsl:for-each>
</ul>
</div>
</div>
有人可以帮忙吗? 我希望在这里提出正确的形式。
问候
答案 0 :(得分:0)
看起来,您只想过滤那些存在的图像,而不会破坏任何链接。所以,你应该使用java扩展来实现它,因为XSLT是不够的。使用类似的东西:
<xsl:template match=file">
<xsl:variable name="file" select="resolve-uri(@name, base-uri(.))"
as="xs:string"/>
<xsl:if test="not(file:exists(file:new($file)))">
<xsl:value-of select="@name"/><xsl:message>file missing /
incorrect name</xsl:message>
</xsl:if>
</xsl:template>
我可以从http://www.altova.com/list/xsl-list/200906/msg1000300010.html
获取更多信息