Як я магу падсумаваць некаторыя значэння на старонцы ў выглядзе табліцы ў XSL-FO?

Я выкарыстоўваю XSL-FO для генерацыі выпіскі з рахункаў раздрукаваць. PDF на самай справе проста простая табліца з простым загалоўкам на кожнай старонцы. Цяжкасць складаецца ў тым, што я павінен адлюстроўваць аб'ёмы транзакцый на старонцы, напрыклад,

старонка 1

+------------------------------+-----------+-----------+---------------------+
| Text                         | Credit    | Debit     | Balance             |
+------------------------------+-----------+-----------+---------------------+
| Previous month               |           |           |           (*1) 1000 |
| abc                          |      1000 |           |                2000 |
| abc                          |           |       500 |                1500 |
| abc                          |           |       200 |                1300 |
| ...                          |           |           |                     |
| Carry over                   | (*2) 1000 |  (*3) 700 |           (*4) 1300 |
+------------------------------+-----------+-----------+---------------------+

старонка 2

+------------------------------+-----------+-----------+---------------------+
| Text                         | Credit    | Debit     | Balance             |
+------------------------------+-----------+-----------+---------------------+
| Previous page                | (*2) 1000 |  (*3) 700 |           (*4) 1300 |
| abc                          |      1000 |           |                2300 |
| abc                          |           |       500 |                1800 |
| abc                          |           |       200 |                1600 |
| ...                          |           |           |                     |
| Carry over                   | (*2) 2000 | (*3) 1400 |           (*4) 1600 |
+------------------------------+-----------+-----------+---------------------+

Вось некаторыя тлумачэнні:

  1. Гэта баланс за папярэдні месяц. Гэта загадзя разлічаная і добра вядомы як пераменная XSL. Няма праблем з тым, што няма рэгулярнага загалоўка (толькі на першай старонцы)
  2. Гэта значэнне разлічваецца на аснове кожнай старонкі. Ён сумуе ўсе крэдытныя сумы на той жа старонцы. Я не магу палічыць, што я, так як я не ведаю, калі XSL-FO будзе рабіць разрыў старонкі. Таму я мяркую, XSL-FO павінны зрабіць разлік для мяне. Сума ў ніжняй частцы старонкі такі ж, як значэнне ў верхняй частцы наступнай старонкі.
  3. <Літый> Гэтае значэнне такое ж, як 2, толькі для дэбетавых сум.
  4. Гэтае значэнне проста баланс апошняй здзелкі ў ніжняй частцы старонкі. Гэта значэнне паўтараецца ў верхняй частцы наступнай старонкі.

Як я магу зрабіць гэтыя разлікі з XSL-FO?

See also this related question: How to display one or the other information depending on the page number in XSL-FO?

0
@Dabbler: Я выкарыстоўваю XSLT, я проста не ведаю, як я магу зрабіць выкарыстанне XSL-FO разліковых значэнняў на аснове кожнай старонкі. Я мяркую, што адказ Майкла каштоўны
дададзена аўтар Lukas Eder, крыніца
Вы глядзелі на XSLT яшчэ? Вы можаце напісаць табліцу стыляў XSLT, які змяшчае/генеруе вашыя FO элементы, і гэта дае магчымасць праводзіць любыя разумныя разлікі.
дададзена аўтар Dabbler, крыніца

2 адказы

Unfortunately, fop doesn't implement from what I have found out. Instead, this solution here worked for me:

How to display one or the other information depending on the page number in XSL-FO?

It involves creating a separate table outside of the that displays the table header using elements.

1
дададзена
@MichaelSulyaev: У прынцыпе, вы маеце рацыю. Але мой макет будзе змяшчаць роўна 37 радкоў фіксаванай вышыні. Так што мне пашанцавала :-) я магу зрабіць тое ж трук з зноскі таксама і перамесціце табліцу калантытул ў <САП: паток імя-статычны кантэнт = «XSL-вобласць-пасля» /> раздзел
дададзена аўтар Lukas Eder, крыніца
@MichaelSulyaev ... Хм, на самай справе я толькі цяпер разумею, што ўсё пытанне становіцца некалькі састарэлым, паколькі з такога роду фіксаванага макета, я магу зрабіць некаторыя разлікі ў XSL ўжо раней, чым дазволіць ФОП запусціць макет ...
дададзена аўтар Lukas Eder, крыніца
Гэта можа працаваць для загалоўка табліцы, калі табліца з'яўляецца першай рэччу ў патоку, але не для табліцы зноскі: мы загадзя не ведаем, дзе на старонцы з'явіцца табліца зноска.
дададзена аўтар Mike Sulyaev, крыніца

Паспрабуйце "маркеры" табліцы: http://www.w3.org/TR/ XSL/# fo_retrieve стол габарытны .

У XSLT для кожнага радка ўводзяць маркер з сумай. Тады хай рухавік выбраць маркер для замены для фо: здабывання-табліцы-маркер ў табліцы верхняга або ніжняга калантытула. Ідэя заключаецца ў тым, што ўласна маркер будзе абраны рэндэрынг ў залежнасці ад пазіцыі маркера на старонцы і @ здабывання-пазіцыі і @ здабывання-мяжы на фо: атрымаць стол-маркер.

1
дададзена
Гэта выглядае сапраўды, як тое, што я шукаю. Я паспрабую гэта як мага хутчэй. Дзякуй!
дададзена аўтар Lukas Eder, крыніца
На жаль, <САП: атрымаць столік-маркер /> рэалізацыя, здаецца, адсутнічае ў Apache FOP :-( Я буду гуляць з <САП :. Атрымаць маркер/> замест
дададзена аўтар Lukas Eder, крыніца