问题:如何从img
元素中获取src
属性,然后将src
的值复制到变量中,然后将变量设置为fo:external-graphic
元素的src
?
假设我有一个带有图像的XML文档,如下所示:
<diffreport>
<css />
<diff>
<p>
<span class="diff-html-removed" id="removed-diff-0" previous="first-diff"
changeId="removed-diff-0" next="added-diff-0">
<img alt="" id="Rxed6OQAKXfCYA"
src="D:uduimg1.jpg" changeType="diff-removed-image" />
</span>
</p>
</diff>
注意:假设img
元素的src
路径是动态的。
我确认下面的这段代码工作正常,但它不是很好,因为它是硬编码的。我真的很想知道如何替换"url('D:uduimg1.jpg')加上变量,使代码是动态的。
<!-- Image -->
<xsl:template match="img">
<fo:external-graphic
src="url('D:uduimg1.jpg')"></fo:external-graphic>
</xsl:template>
有办法做到这一点吗?谢谢你!:)
你可以试试
<xsl:template match="img">
<fo:external-graphic
src="{concat('file:///', translate(@src, '', '/'))}" />
</xsl:template>
将获取D:uduimg1.jpg
并将其命名为file:///D:/udu/img1.jpg
使用属性值模板,该模板将被评估以从XML中获取@src
的值。看到https://www.w3.org/TR/xslt属性值模板
<!-- Image -->
<xsl:template match="img">
<fo:external-graphic src="url('{@src}')" />
</xsl:template>