从节点获取子节点并传入属性

时间:2014-09-19 11:08:03

标签: xslt xslt-1.0 xsl-fo

对不起这个愚蠢的问题,但目前我无法理解。

我有一个节点,有孩子,我想要这些孩子和"打印"这些直接属于一个属性。请看一下代码:

<fo:declarations>
                <xsl:for-each select="//lb">
                    <xsl:for-each select="./dv-group/dv/download">

<xsl:value-of select="." />
<pdf:embedded-file filename="<xsl:value-of select="." />" src="url(test:///C:/Users/muster/Desktop/template_test/data/Mappe1.xlsx)"/>

                    </xsl:for-each>
                </xsl:for-each>
            </fo:declarations>

我已尝试使用变量,但这也不起作用。

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您正在寻找的概念称为attribute value template:在文字结果元素的属性值中(以及某些xsl:指令的某些属性中),您可以将XPath表达式括在大括号中它们将被评估并在输出中替换它们的结果:

<pdf:embedded-file filename="{.}" src="url(test:///C:/Users/muster/Desktop/template_test/data/Mappe1.xlsx)"/>

如果你想要一个被解释为AVT的属性中的文字大括号字符,你必须加倍它。