Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«XSLTΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 102

Автор Π‘Ρ‚ΠΈΠ²Π΅Π½ Π₯ΠΎΠ»Π·Π½Π΅Ρ€

БозданиС списка: <fo:list-block>

Для Π½Π°Ρ‡Π°Π»Π° Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ элСмСнтом <fo:list-block>, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список XSL-FO; этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ содСрТит элСмСнты <fo:list-item>, содСрТащиС Π΄Π°Π½Π½Ρ‹Π΅ списка.

Π‘ элСмСнтом <fo:list-block> ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства доступа: source-document, role;

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ свойства: azimuth, cue-after, cue-before, elevation, pause-after, pause-before, pitch, pitch-range, play-during, richness, speak, speak-header, speak-numeral, speak-punctuation, speech-rate, stress, voice-family, volume;

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства Π³Ρ€Π°Π½ΠΈΡ†, заполнСния ΠΈ Π·Π°Π΄Π½Π΅Π³ΠΎ Ρ„ΠΎΠ½Π°: background-attachment, background-color, background-image, background-repeat, background-position-horizontal, background-position-vertical, border-before-color, border-before-style, border-before-width, border-after-color, border-after-style, border-after-width, border-start-color, border-start-style, border-start-width, border-end-color, border-end-style, border-end-width, border-top-color, border-top-style, border-top-width, border-bottom-color, border-bottom-style, border-bottom-width, border-left-color, border-left-style, border-left-width, border-right-color, border-right-style, border-right-width, padding-before, padding-after, padding-start, padding-end, padding-top, padding-bottom, padding-left, padding-right;

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства ΠΏΠΎΠ»Π΅ΠΉ: margin-top, margin-bottom, margin-left, margin-right, space-before, space-after, start-indent, end-indent;

β€’ break-after;

β€’ break-before;

β€’ id;

β€’ keep-together;

β€’ keep-with-next;

β€’ keep-with-previous;

β€’ provisional-distance-between-starts;

β€’ provisional-label-separation;

β€’ relative-position.

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ начинаСтся список Π² листингС 12.2. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС я задаю значСния для свойства provisional-distance-between-starts, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ расстояниС ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ отступа ΠΌΠ΅Ρ‚ΠΊΠΈ элСмСнта списка ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ отступа Ρ‚Π΅Π»Π° элСмСнта списка, ΠΈ для свойства provisional-label-separation, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ†ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΊΠΈ элСмСнта списка (Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€) ΠΈ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ‚Π΅Π»Π° элСмСнта списка:

<fo:list-block provisional-label-separation="5mm"

 provisional-distance-between-starts="15mm">

 .

 .

 .

</fo:list-block>

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСмСнтов списка: <fo:list-item>

Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ элСмСнта <fo:list-item> Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² список ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈ Ρ‚Π΅Π»ΠΎ элСмСнта списка. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ элСмСнтС списка Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π‘ элСмСнтом <fo:list-item> ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства доступа: source-document, role;

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ свойства: azimuth, cue-after, cue-before, elevation, pause-after, pause-before, pitch, pitch-range, play-during, richness, speak, speak-header, speak-numeral, speak-punctuation, speech-rate, stress, voice-family, volume;

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства Π³Ρ€Π°Π½ΠΈΡ†, заполнСния ΠΈ Π·Π°Π΄Π½Π΅Π³ΠΎ Ρ„ΠΎΠ½Π°: background-attachment, background-color, background-image, background-repeat, background-position-horizontal, background-position-vertical, border-before-color, border-before-style, border-before-width, border-after-color, border-after-style, border-after-width, border-start-color, border-start-style, border-start-width, border-end-color, border-end-style, border-end-width, border-top-color, border-top-style, border-top-width, border-bottom-color, border-bottom-style, border-bottom-width, border-left-color, border-left-style, border-left-width, border-right-color, border-right-style, border-right-width, padding-before, padding-after, padding-start, padding-end, padding-top, padding-bottom, padding-left, padding-right;

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства ΠΏΠΎΠ»Π΅ΠΉ: margin-top, margin-bottom, margin-left, margin-right, space-before, space-after, start-indent, end-indent;

β€’ break-after;

β€’ break-before;

β€’ id;

β€’ keep-together;

β€’ keep-with-next;

β€’ keep-with-previous;

β€’ relative-align;

β€’ relative-position.

Π’ lists.fo встрСчаСтся Ρ‚Ρ€ΠΈ элСмСнта <fo:list-item>:

<fo:list-block provisional-label-separation="5mm"

 provisional-distance-between-starts="15mm">

 <fo:list-item line-height="20mm">

  .

  .

  .

 </fo:list-item>

 <fo:list-item line-height="20mm">

  .

  .

  .

 </fo:list-item>

 <fo:list-item line-height="20mm">

  .

  .

  .

 </fo:list-item>

</fo:list-block>

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списка.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠΊ элСмСнта списка: <fo:list-item-label>

ΠœΠ΅Ρ‚ΠΊΠ° для элСмСнта списка создаСтся элСмСнтом <fo:list-item-label>, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΄Π΅Π»ΠΎ элСмСнта списка.

К элСмСнту <fo:list-item-label> ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства доступа: source-document, role;

β€’ id;

β€’ keep-together.

Π’ lists.fo я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ элСмСнты <fo:block> для отобраТСния Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹ Π² качСствС ΠΌΠ΅Ρ‚ΠΊΠΈ элСмСнта списка (lists.xsl Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ этот Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ <xsl:number> ΠΈ вставляСт Π΅Π³ΠΎ Π² lists.fo):

<fo:list-block provisional-label-separation="5mm"

 provisional-distance-between-starts="15mm">

 <fo:list-item line-height="20mm">

  <fo:list-item-label>

   <fo:block font-size="36pt" font-family="sans-serif">

    1.

   </fo:block>

  </fo:list-item-label>

  .

  .

  .

 </fo:list-item>

 <fo:list-item line-height="20mm">

  <fo:list-item-label>

   <fo:block font-size="36pt" font-familΡƒ="sans-serif">

    2.

   </fo:block>

  </fo:list-item-label>

  .

  .

  .

 </fo:list-item>

 <fo:list-item line height="20mm">

  <fo:list-item-label>

   <fo:block font-size="36pt" font-family="sans-serif">

    3.

   </fo:block>

  </fo:list-item-label>

  .

  .

  .

 </fo:list-item>

</fo:list-block>

ВсС, Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ, β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² этот список сами Π΄Π°Π½Π½Ρ‹Π΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π΅Π» элСмСнтов списка: <fo:list-item-body>

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π΅Π»Π° элСмСнта списка слуТит элСмСнт <fo:list-item-body>. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ для форматирования Ρ‚Π΅Π»Π° элСмСнта списка Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ Π²Π°ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² элСмСнт <fo:list-item-body> ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ <fo:block>.

Π‘ элСмСнтом <fo:list-item-body> ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства доступа: source-document, role;

β€’ id;

β€’ keep-together.

Π’ lists.fo элСмСнты <fo:list-item-body> содСрТат названия ΠΏΠ»Π°Π½Π΅Ρ‚:

<fo:list-block provisional-label-separation="5mm"

 provisional-distance-between-starts="15mm">

 <fo:list-item line-height="20mm">

  <fo:list-item-label>

   <fo:block font-size="36pt" font-family="sans-serif">

    1.

   </fo:block>

  </fo:list-item-label>

  <fo:list-item-body>

   <fo:block font-size="36pt" font-family="sans-serif">

    Mercury

   </fo:block>

  </fo:list-item-body>

 </fo:list-item>

 <fo:list-item line-height="20mm">

  <fo:list-item-label>

   <fo:block font-size="36pt" font-family="sans-serif">

    2.

   </fo:block>

  </fo:list-item-label>

  <fo:list-item-body>

   <fo:block font-size="36pt" font-family="sans-serif">

    Venus

   </fo:block>

  </fo:list-item-body>

 </fo:list-item>

 <fo:list-item line-height="20mm">

  <fo:list-item-label>

   <fo:block font-size="36pt" font-family="sans-serif">

    3.

   </fo:block>

  </fo:list-item-label>

  <fo:list-item-body>

   <fo:block font-size="36pt" font-family="sans-serif">

    Earth

   </fo:block>

  </fo:list-item-body>

 </fo:list-item>

</fo:list-block>

На этом Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° рис. 12.1. Π Π°Π±ΠΎΡ‚Π° со списками ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠ° Π² XSL-FO, Π½ΠΎ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ простых Π±Π»ΠΎΠΊΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ списки ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΈ ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.