我在stackoverflow上找到了很多关于Java和C的例子,但是我该如何检查XSL中外部文件是否存在,或者能否检查。
首先,我知道这只是一个片段,但它是巨大样式表的一部分,所以我希望它足以展示我的问题。
<!-- Use this template for Received SMSs -->
<xsl:template name="ReceivedSMS">
<!-- Set/Declare "SMSname" variable (local, evaluates per instance) -->
<xsl:variable name="SMSname">
<xsl:value-of select=" following-sibling::Name"/>
</xsl:variable>
<fo:table font-family="Arial Unicode MS" font-size="8pt" text-align="start">
<fo:table-column column-width=".75in"/>
<fo:table-column column-width="6.75in"/>
<fo:table-body>
<fo:table-row>
<!-- Cell contains "speakers" icon -->
<fo:table-cell display-align="after">
<fo:block text-align="start">
<fo:external-graphic src="../images/{$SMSname}.jpg" content-height="0.6in"/>
我想做的是,在 {$SMSname}.jpg
这一行周围加上一个 "if" 语句。也就是说:
<fo:block text-align="start">
<xsl:if test="exists( the external file {$SMSname}.jpg)">
<fo:external-graphic src="../images/{$SMSname}.jpg" content-height="0.6in"/>
</xsl:if>
<xsl:if test="not(exists( the external file {$SMSname}.jpg))">
<fo:external-graphic src="../images/unknown.jpg" content-height="0.6in"/>
</xsl:if>
</fo:block>
由于需要进行“分组”等操作,我正在使用XSLT 2.0。我希望这是可以完成的事情。更希望这是一件简单的事情。
像往常一样,非常感谢任何帮助。 LO