XML publisher – sterowanie podziałem strony

Case sudy:

Raport wielopozycyjny xml. Na każdy z wierszy raportu składają  się dwa wiersze tabelki:

Lp IndeksKod przyczyny

Konta księgowe

Opis  Numer partii

Jm

Ilość

Wartość

i <?INDEKS?> <?NAZWA?> <?NP?>

<?JM?>

<?CF_ILOSC?> <?CF_WARTOSC?>
j <?CF_KP?><?KONTO_INV?>

<?CF_KONTO_IVA?>

<?end for-each?>

<?end for-each?>

Pozycja  nr 9 zostaje podzielona między dwie strony.

 

Rozwiązanie:

Aby zapobiec takiemu rozdziałowi, w  tabelce trzeba umieścić podział strony po konkretnej pozycji.

W tym przypadku na pierwszej stronie po 8 pozycji a na następnych po 10.

 

Warunek  <?if:position() mod 10=9?>

Sprawdzamy aktualną pozycję/wiersz.

Dzielimy ilość pozycji  mod 10 co pozwoli nam na ograniczenie wyświetlania do dziesięciu pozycji na stronie.

Wynik dzielenia przyrównujemy do 9 – spowoduje to  wstawienie podziału na pierwszej stronie przed  9 pozycją .

 

<?if:position() mod 10=9?>

<xsl:attribute name=”break-before”>page</xsl:attribute>

<?end if?>

 

Całą instrukcję wstawiamy w pierwszym wierszu tabelki.

Lp IndeksKod przyczyny

Konta księgowe

Opis  Numer partii

Jm

Ilość

Wartość

i page<?INDEKS?> <?NAZWA?> <?NP?>

<?JM?>

<?CF_ILOSC?> <?CF_WARTOSC?>
j <?CF_KP?><?KONTO_INV?>

<?CF_KONTO_IVA?>

<?end for-each?>

<?end for-each?>

Wartość łączna:

<?CS_S_WAR?>

 

 

 

Ten wpis został opublikowany w kategorii XML Publisher i oznaczony tagami , . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz