XSLt - 选择图像包含在文件名'img_'中

时间:2013-12-19 05:11:53

标签: image xslt contain

您好我有关于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>

有人可以帮忙吗? 我希望在这里提出正确的形式。

问候

1 个答案:

答案 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

获取更多信息