如果它们位于同一页面上,则表示XML节点的总数

时间:2012-09-24 15:04:32

标签: xslt xsl-fo

我有一个包含产品及其价格的XML文件。 XML文件中的产品数量是可变的,但至少为10.作为XML的一个例子,我在下面做了一个非常简单的例子:

<Products>
    <Product>
        <Productname>Product 1</Productname>
        <Price>90.45</Price>
    </Product>
    <Product>
        <Productname>Product 2</Productname>
        <Price>30,25</Price>
    </Product>
</Products>

我有一个XSLT,它以PDF格式生成XML格式的所有产品的发票。到目前为止没问题。 这是我的问题:我希望每页都有一些产品。因此,如果产品1到5在第1页上,我希望得到这些产品的价格总和。如果产品6到10在第2页上,那么我希望得到产品1到10的总和。如果产品7到15在第3页,那么我想要产品1到15的总和等等。

产品和价格在一个表格中,为每个产品添加一行。问题是我找不到如何在一页上找出哪些产品的方法。

1 个答案:

答案 0 :(得分:0)

我无法确切地告诉您如何编写样式表,但这看起来像是可以使用fo:markerfo:retrieve-marker(或许fo:retrieve-table-marker)解决的问题。

标记是源文档中的一段命名文本或计算值,“检索”该值以显示在静态内容区域或输出中的表格页眉/页脚中。标记通常用于运行页眉,但它们也可用于显示累积数量的小计。请参阅http://www.w3.org/TR/xsl11/#fo_marker

以下是一个完整的示例:http://markmail.org/message/t6hl5mo6eo5mppj4。希望您能够根据自己的需求进行调整。