XSLT — страница 108 из 124

?xml version="1.0" encoding="UTF-8"?>

   margin-bottom="10mm" margin-top="10mm" page-width="300mm"

   page-height="400mm" master-name="page">

    margin-bottom="10mm" margin-top="0mm"/>

    position="absolute">

     font-family="sans-serif" font-weight="bold" font-size="14pt">

     Starpowder

     font-family="sans-serif" font-size="14pt">

     The Starpowder Building:

     font-family="sans-serif" font-size="14pt">

     1 Starpowder Avenue

     font-family="sans-serif" font-size="14pt">

     New York. NY. 10011

    position="absolute">

     font-family="sans-serif" font-size="23pt">

     Invoice

    border-width="1pt" height="0.7cm" width="3.5cm" top="1.2cm"

    left="12.0cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="12pt">

     Date

    border-width="1pt" height="0.7cm" width="3.5cm" top="1.9cm"

    left="12.0cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="12pt">

     January 1, 2002

    border-width="1pt" height="0.7cm" width="3.5cm" top="1.2cm"

    left="15.5cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="12pt">

     Terms

    border-width="1pt" height="0.7cm" width="3.5cm" top="1.9cm"

    left="15.5cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="12pt">

     Immediate

    border-width="1pt" height="1.0cm" width="9cm" top="3cm"

    left="0cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="18pt">

     Description of Service

    border-width="1pt" height="4cm" width="9cm" top="4.0cm"

    left="0cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="12pt">

    border-width="1pt" height="1.0cm" width="9cm" top="3cm"

    left="10cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="18pt">

     Address for Payment:

    border-width="1pt" height="4cm" width="9cm" top="4.0cm"

    left="10cm" padding="2pt" position="absolute">

     font-family="sans-serif" font-size="12pt">

Документ PDF, который процессор fop создаст из

blockcontainers.fo
, показан на рис. 12.2. Как можно видеть на рисунке, я поместил различные блоки в разные места документа. Некоторые прямоугольники должны быть размещены сразу же поверх других, поэтому в данном случае размещение играет важную роль.

Рис. 12.2. Применение контейнеров блоков 


На самом деле работать с контейнерами блоков просто. Взгляните, например, на прямоугольник «Description of Service» (Описание услуги) на рис. 12.2. Я создал его при помощи двух контейнеров блоков: один из них содержит заголовок «Description of Service», а второй — пустой прямоугольник сразу под первым. Для создания прямоугольника заголовка я применил элемент

, указав размеры прямоугольника в свойствах
height
(высота) и
width
(ширина) и задав границу в свойстве
border-width
. Положение прямоугольника на странице я задал, установив свойство
position
в
absolute
и установив свойства
left
(левый) и
top
(верхний) для размещения верхнего левого угла прямоугольника по отношению к верхнему левому углу страницы:

 border-width="1pt" height="1.0cm" width="9cm" top="3cm"

 left="0cm" padding="2pt" position="absolute">

 .

 .

 .

Теперь я могу включить в контейнер блок, содержащий заголовок «Description of Service»:

 border-width="1pt" height="1.0cm" width="9cm" top="3cm"

 left="0cm" padding="2pt" position="absolute">

<