Форматирование XSL
Форматирование XSL
Как обсуждалось в главе 1, XSLT и XSL-FO составляют спецификацию XSL. В данный момент версия 1.0 этой спецификации обладает статусом рекомендации-кандидата, с последней версией вы сможете познакомиться на http://www.w3.org/TR/xsl.
Форматирующая часть XSL, XSL-FO, позволяет устанавливать точное форматирование для всего документа, вплоть до каждого миллиметра. Например, вы можете выбрать шрифт, его размер, расположение текста на странице, цвет текста, режим подчеркивания и т.д. Работа с XSL-FO во многом похожа на создание документов RTF, но с некоторыми дополнениями: например, в XSL-FO можно создавать ссылки для навигации по документам.
Если вы когда-либо видели огромное количество кодов, используемых в RTF для форматирования документов, вы поймете, что XSL-FO представляет собой сложную и очень большую спецификацию. (Вот почему появились XSLT — чтобы упростить работу с XSL-FO.) Таким образом, на отведенном месте я смогу только дать введение в эту тему. Однако пока что еще нет программ, полностью реализующих всю спецификацию, поэтому сравнительно небольшое число людей пользуются возможностями XSL-FO, выходящими за рамки материала этой и следующей глав. В следующем списке перечислен ряд доступных процессоров XSL-FO:
• fop. http://xml.apache.org/fop. Этот популярный процессор преобразует XSL- FO в PDF. Разработан Джеймсом Таубером в Apache Software Foundation (http://xml.apache.org/);
• PassiveTeX. http://users.ox.ac.uk/~rahtz/passivetex/. Этот процессор фактически представляет собой библиотеку макросов ТеХ, обеспечивающих среду для тестирования XSL-FO;
• REXP. http://www.esng.dibe.unige.it/REXP. Эта ранняя версия процессора XSL-FO. Создает файлы PDF;
• Unicorn. http://www.unicorn-enterprises.com. Этот процессор (называемый UFO) распространяется бесплатно и работает в Windows NT 4.0 и Windows 95;
• ХЕР. http://www.renderx.com/F02PDF.html. Этот процессор, обычно называемый FOP2PDF, преобразует документы XSL-FO в формат PDF;
• XSL Formatter. http://www.antennahouse.com/xslformatter.html. Процессор XSL-FO для Windows. Доступна бесплатная копия с ограниченным сроком действия (evaluation version);
Я лично предпочитаю fop, который сегодня является самым популярным процессором XSL-FO. В этой и следующей главах я буду работать с последней версией fop, 0.17. Apache Software Foundation, группа, которая создала и Xalan, осуществляет сопровождение процессора fop, преобразующего документы XSL-FO в документы в формате Portable Data Format (PDF), для просмотра которых служит Acrobat reader фирмы Adobe. Acrobat reader можно бесплатно загрузить с http://www.adobe.com/products/acrobat/readermain.html. Последнюю версию самого fop можно бесплатно загрузить с http://xml.apache.org/fop (на сегодняшний день достаточно только щелкнуть на ссылку для загрузки на этой странице).
Процессор fop работает с документами XSL-FO, и в этой и следующей главах я воспользуюсь XSLT для преобразования документов XML в формат XSL-FO и затем применю fop для преобразования документов XSL-FO в формат PDF. (Применение XSL-FO не означает, что обязательно будут создаваться документы PDF — существуют и другие форматы, — XSL-FO просто позволяет вам форматировать данные, а то, как эти форматированные данные будут представлены, зависит от используемого приложения.) Для работы с XSL-FO необходимо понимать, как работать с существующими форматирующими объектами XSL.