0
我使用XSL渲染图像(在服务器端),我想尽可能通用。使用部分XML变量填充XSL模板
例如我得到这个变量
<xsl:variable name="shows" select="document('includes/shows.xml')"/>
引用的XML文件。这是XML的内容
<show id='2'>
<logo>url('images/background.png')</logo>
<border>8pt solid #f9c514</border>
<bordertop>6pt solid #f9c514</bordertop>
<headercolor>#f9c514</headercolor>
<backgroundimage>svg/bg.svg</backgroundimage>
</show>
其中包含许多不同的节目,每个节目的格式如上。使用这个,并提供正确的ID,我的变量将填充这些值。当我使用这个:
<xsl:value-of select="$shows/all/show[@id=2]/logo"/>
它得到正确的评估并显示正确的图像。边框和边框颜色相同。因此,这是行不通的:
<fo:simple-page-master master-name="thepage" page-width="4cm" margin-top="0.6cm" page-height="8.4cm">
<fo:region-body region-name="xsl-region-body"/>
<fo:region-before extent="8.4cm" background-image="$shows/all/show[@id=2]/backgroundimage"/>
</fo:simple-page-master>
它虽然没有崩溃,但图像没有任何bg。我检查了值,我正确得到svg/bg.svg
,当我直接把background-image='svg/bg.svg'
它也有效。任何想法,为什么它是否来自一个XML文件