如何从xml中获取img src,然后将其用作FO:external-graphic的src



问题:如何从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>

相关内容

  • 没有找到相关文章

最新更新