My-library.info
Все категории

Стивен Холзнер - XSLT

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Стивен Холзнер - XSLT. Жанр: Интернет издательство -, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
XSLT
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
229
Читать онлайн
Стивен Холзнер - XSLT

Стивен Холзнер - XSLT краткое содержание

Стивен Холзнер - XSLT - описание и краткое содержание, автор Стивен Холзнер, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике

XSLT читать онлайн бесплатно

XSLT - читать книгу онлайн бесплатно, автор Стивен Холзнер

• общие свойства полей для блоков: margin-top, margin-bottom, margin-left, margin-right, space-before, space-after, start-indent, end-indent;

• break-after;

• break-before;

• color;

• font-height-override-after;

• font-height-override-before;

• hyphenation-keep;

• hyphenation-ladder-count;

• id;

• keep-together;

• keep-with-next;

• keep-with-previous;

• last-line-end-indent;

• linefeed-treatment;

• line-height;

• line-height-shift-adjustment;

• line-stacking-strategy;

• orphans;

• relative-position;

• space-treatment;

• span;

• text-align;

• text-align-last;

• text-indent;

• visibility;

• white-space-collapse;

• widows;

• wrap-option;

• z-index.

Например, я могу добавить в документ заголовок «The Planets Table» (Таблица планет), задав шрифт Times (в данный момент fop поставляется с встроенными шрифтами Times, Helvetica, Courier, Symbol, sans-serif, serif и ZapfDingbats) в свойстве font-family, размер шрифта 36 пунктов в свойстве font-size и полужирный стиль, установив свойство font-weight в «bold». Высоту блока я задам при помощи свойства line-height и покажу заголовок голубым при помощи свойства color:

<?xml version="1.0"?>

<xsl:stylesheet

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 xmlns:fo="http://www.w3.org/1999/XSL/Format"

 version="1.0">

 <xsl:template match="PLANETS">

  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

   <fo:layout-master-set>

    .

    .

    .

   </fo:layout-master-set>

   <fo:page-sequence master-name="page">

    <fo:flow flow-name="xsl-region-body">

    <fo:block font-weight="bold" font-size="36pt"

     line-height="48pt" font-family="Times" color="blue">

     The Planets Table

    </fo:block>

    <xsl:apply-templates/>

   </fo:flow>

  </fo:page-sequence>

  .

  .

  .

Этот код создаст блок заголовка, который показан в верхней части текста на рис. 11.1. Таким способом я могу создать аналогичные блоки для каждого элемента данных каждой планеты при помощи таблицы стилей XSLT. Заметьте также, что я вывожу имя каждой планеты курсивом, установив свойство font-style в «italic», и я подчеркиваю остальной текст при помощи свойства text-decoration элементов <fo:inline>, которые мы рассмотрим в следующей главе:

<?xml version="1.0"?>

<xsl:stylesheet

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 xmlns:fo="http://www.w3.org/1999/XSL/Format"

 version="1.0">

 <xsl:template match="PLANETS">

  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

   <fo:layout-master-set>

    .

    .

    .

   </fo:layout-master-set>

   <fo:page-sequence master-name="page">

    .

    .

    .

   </fo:page-sequence>

  </fo:root>

 </xsl:template>


 <xsl:template match="PLANET/NAME">

  <fo:block font-weight="bold" font-size="28pt"

   line-height="48pt" font-family="Times" font-style="italiс">

   Planet:

   <xsl:apply-templates/>

  </fo:block>

 </xsl:template>


 <xsl:template match="PLANET/MASS">

  <fo:block font-size="24pt" line-height="32pt" font-family="Times">

   <fo:inline text-decoration="underline">

    Mass

   </fo:inline>:

   <xsl:apply-templates/>

   [Earth = 1]

  </fo:block>

 </xsl:template>

 .

 .

 .

</xsl:stylesheet>

Вот и все. Вы создали свое первое преобразование из XML в XSL-FO, преобразовав planets.xml в planets.fo. Процессор fop создаст из planets.fo файл planets.pdf, и вы можете вернуться к рис. 11.1 и посмотреть на результат.

Это преобразование форматировало данные в planets.xml и отображало их в блоках, одно за другим. С другой стороны, в предыдущих главах мы видели данные планет в виде таблицы. Можно ли это сделать в XSL-FO? Никаких проблем.

Создание таблиц

Таблица — одна из самых полезных структур, которые можно форматировать при помощи XSL-FO. Таблица в XSL-FO во многом похожа на таблицу в HTML: это прямоугольная сетка, состоящая из строк и столбцов ячеек. Для создания таблиц можно применять девять форматирующих элементов.

• <fo:table-and-caption>;

• <fo:table>;

• <fo:table-column>;

• <fo:table-caption>;

• <fo:table-header>;

• <fo:table-footer>;

• <fo:table-body>;

• <fo:table-row>;

• <fo:table-cell>.

Создание таблиц в XSL-FO аналогично их созданию в HTML. Вы создаете элемент <fo:table>, содержащий всю таблицу целиком, затем форматируете каждый столбец при помощи элемента <fo:table-column>. После чего вы создаете элемент <fo:table-body>, чтобы задать тело таблицы. Элемент <fo:table-body> содержит все элементы <fo:table-row>, каждый из которых создает строку таблицы. Каждый элемент <fo:table-row> содержит элементы <fo:table-cell>, в которых содержатся данные ячеек таблицы.

Следующий пример (листинг 11.4) демонстрирует работу с этими элементами. Приведенная таблица стилей XSLT преобразует planets.xml в документ XSL-FO, форматирующий данные планет в таблицу XSL-FO.

Листинг 11.4. tables.xsl

<?xml version="1.0"?>

<xsl:stylesheet

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 xmlns:fo="http://www.w3.org/1999/XSL/Format"

 version="1.0">

 <xsl:template match="PLANETS">

  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

   <fo:layout-master-set>

    <fo:simple-page-master master-name="page"

     page-height="400mm" page-width="300mm"

     margin-top="10mm" margin-bottom="10mm"

     margin-left="20mm" margin-right="20mm">

     <fo:region-body margin-top="0mm" margin-bottom="10mm"

      margin-left="0mm" margin-right="0mm"/>

     <fo:region-after extent="10mm"/>

    </fo:simple-page-master>

   </fo:layout-master-set>

   <fo:page-sequence master-name="page">

    <fo:flow flow-name="xsl-region-body">

     <fo:table>

      <fo:table-column column-width="30mm"/>

      <fo:table-column column-width="30mm"/>

      <fo:table-column column-width="30mm"/>

      <fo:table-column column-width="30mm"/>

      <fo:table-column column-width="30mm"/>

      <fo:table-column column-width="30mm"/>

      <fo:table-body>

       <fo:table-row>

        <fo:table-cell border-width="0.5mm">

         <fo:block font-size="18pt" font-weight="bold">

          Name

         </fo:block>

        </fo:table-cell>

        <fo:table-cell border-width="0.5mm">

         <fo:block font-size="18pt" font-weight="bold">

          Mass

         </fo:block>

        </fo:table-cell>

        <fo:table-cell border-width="0.5mm">

         <fo:block font-size="18pt" font-weight="bold">

          Day

         </fo:block>

        </fo:table-cell>

        <fo:table-cell border-width="0.5mm">

         <fo:block font-size="18pt" font-weight="bold">

          Radius

         </fo:block>

        </fo:table-cell>

        <fo:table-cell border-width="0.5mm">

         <fo:block font-size="18pt" font-weight="bold">

          Density

         </fo:block>

        </fo:table-cell>

        <fo:table-cell border-width="0.5mm">

         <fo:block font-size="18pt" font-weight="bold">

          Distance

         </fo:block>

        </fo:table-cell>

       </fo:table-row>

       <xsl:apply-templates/>

      </fo:table-body>

     </fo:table>

    </fo:flow>

   </fo:page-sequence>

  </fo:root>

 </xsl:template>


 <xsl:template match="PLANET">

  <fo:table-row>

   <xsl:apply-templates/>

  </fo:table-row>

 </xsl:template>


 <xsl:template match="NAME">

  <fo:table-cell border-width="0.5mm">

   <fo:block font-size="18pt">

    <xsl:value-of select='.'/>

   </fo:block>

  </fo:table-cell>

 </xsl:template>


 <xsl:template match="MASS">

  <fo:table-cell border-width="0.5mm">

   <fo:block font-size="18pt">

    <xsl:value-of select='.'/>

   </fo:block>

  </fo:table-cell>

 </xsl:template>


 <xsl:template match="DAY">


Стивен Холзнер читать все книги автора по порядку

Стивен Холзнер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


XSLT отзывы

Отзывы читателей о книге XSLT, автор: Стивен Холзнер. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.