我想使用循环迭代XSL FO中的属性,用逗号分隔它们,最后一个元素除外。我在这里读过一些帖子,但不知怎么的,它对我不起作用。
这是我的代码结构示例:
XML:
<artikeldaten>
<artikel id="">
<attribute>
<attribut>a++</attribut>
<attribut>75 Zoll</attribut>
<attribut>4k Ultra HD</attribut>
<attribut>UE75RU7179</attribut>
<attribut>37,5 kg</attribut>
<attribut>154 Watt</attribut>
<attribut>3x HDMI (digital)</attribut>
</attribute>
</artikeldaten>
XSL FO:
<xs:template match="/">
<fo:root>
<fo:page-sequence master-reference="DIN-A4">
<fo:flow flow-name="content">
<fo:block-container>
<fo:block>
<xs:for-each select="artikeldaten/artikel/attribute">
<xs:if test="position()!= last()">
<xs:value-of select="."/>
<xs:text>, </xs:text>
</xs:if>
</xs:for-each>
</fo:block>
</fo:block-container>
//Closing tags
对我来说,这个解决方案总体上是合理的,但不幸的是,它不起作用。
是的,我已经测试过将函数的值放在if查询之外。
如何在XSL FO中正确创建查询?
您的路径似乎缺少选择名为attribut
:的元素的最后一步
xs:for-each select="artikeldaten/artikel/attribute/attribut"