你需要做的是这样的:
<xsl:choose>
<!-- parts -->
<xsl:when test="$map//*[contains(@class, ' bookmap/part ')]">
<xsl:call-template name="getVariable">
<xsl:with-param name="id" select="'First Cover Image Path'"/>
</xsl:call-template>
</xsl:when>
<!-- chapters -->
<xsl:when test="$map//*[contains(@class, ' bookmap/chapter ')]">
<xsl:call-template name="getVariable">
<xsl:with-param name="id" select="'Second Cover Image Path'"/>
</xsl:call-template>
</xsl:when>
<!-- parts without chapters -->
<xsl:when test="$map//*[contains(@class, ' bookmap/part ')][not(child::*[contains(@class, ' bookmap/chapter ')])">
<xsl:call-template name="getVariable">
<xsl:with-param name="id" select="'Third Cover Image Path'"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
您应该在配置文件中定义图像~/cfg/common/vars/en.xml
你应该阅读:
更新
要放置图像,您应该使用placeImage
模板:
<xsl:apply-templates mode="placeImage" select=".">
<xsl:with-param name="imageAlign" select="@align"/>
<xsl:with-param name="href"
select="
if (@scope = 'external' or opentopic-func:isAbsolute(@href)) then
@href
else
concat($input.dir.url, @href)"/>
<xsl:with-param name="height" select="@height"/>
<xsl:with-param name="width" select="@width"/>
</xsl:apply-templates>
使用dita-generator生成插件,设置自定义封面图像,然后将您的代码与生成的插件的代码进行比较会很有帮助。