如何将xsl:value-of用作fo:external-graphic的src?

时间:2018-12-21 09:47:00

标签: xsl-fo

我对XSL-FO还是很陌生,我尝试的方法可能不是解决此问题的理想方法。

我在本地目录中存储了一些图标。 我需要为fo:external-graphic的src动态使用这些图标的路径。

<fo:external-graphic src='xsl:value-of select="article[@index=1]/data/subscriber-B-10'  width="100px" height="90px" content-height="scale-up-to-fit"  display-align="center" text-align="center"></fo:external-graphic>

我尝试了subscriber-B-10中路径的不同变体。

"subscriber-B-10": "url('file:///C:/Users/Administrator/icons/icon1.bmp')",
"subscriber-B-10": "file:///C:/Users/Administrator/icons/icon1.bmp",

最后一个带有src='url("xsl:value-of select="article[@index=1]/data/subscriber-B-10")'

直接使用指向其中一个图标的路径是可行的:

src='url("file:///C:/Users/Administrator/icons/icon1.bmp")

1 个答案:

答案 0 :(得分:0)

查找“属性值模板”。 XSLT 1.0的定义位于https://www.w3.org/TR/1999/REC-xslt-19991116#attribute-value-templates(但希望您使用的是更新的XSLT 2.0或XSLT 3.0)。

您可以使用属性值模板通过将XPath放在文字属性值的 <DockPanel Height="31" HorizontalAlignment="Left" Margin="82,107,0,0" Name="dockPanel1" VerticalAlignment="Top" Width="286" LastChildFill="True"> <TextBlock Text="Text block" DockPanel.Dock="Left" /> <Grid> <Button Content="Button1" Visibility="Visible" /> <Button Content="Button2" Visibility="Collapsed" /> </Grid> </DockPanel> {之间来获取XPath的字符串值:

}