XSL-FO用循环实现图片

时间:2016-01-09 23:55:44

标签: xml xslt-1.0 xsl-fo

我的问题是我有一个有效结构的XML文件,所有图片都放在以下路径中。

<figure>
   <graphic url="Alexander.jpg" width="180px" height="281px" />
   <figDesc>Alexander</figDesc>
 </figure>

在XSL中,添加循环并将图片放置在生成的html文件中的解决方案很明显。我使用这样的东西

<figure>
<img src="{tei:figure/tei:graphic/@url}" 
width="{substring-before(tei:figure/tei:graphic/@width, 'px')}" 
alt="{tei:figure/tei:figDesc}" />     
</figure>

但在XSL FO中,我只能添加这样的图片。我真的不想手工放置它们。

<fo:block>
 <fo:external-graphic src="Alexander.jpg" />
</fo:block>

那么请你帮我一点帮忙吗?干杯基督徒

1 个答案:

答案 0 :(得分:0)

属性值模板适用于任何非XSLT属性(以及许多XSLT定义的属性)。请参阅http://www.w3.org/TR/xslt#attribute-value-templates

所以你也可以在你的XSLT中做到这一点:

<fo:block>
 <fo:external-graphic src="{tei:figure/tei:graphic/@url}" />
</fo:block>