- •Лабораторная работа 4-04
- •3.2. Оформление страниц вXsl
- •3.2.1. Структура страницы
- •3.2.2. Элементы создания последовательности страниц
- •3.2.3. Элементы fo:layout-master-set и fo:simple-page-master
- •3.2.4. Элементы fo:region-body, fo:region-before, fo:region-after, fo:region-start и fo:region-end
- •3.2.5. Элементы, формирующие последовательности страниц
- •3.3. Блоковые элементыXsl
- •3.3.1. Элементfo:block
- •3.3.2. Элементfo:block-container
- •3.4. Внутристроковые элементы xsl
- •3.4.1. Элементfo:inline
- •3.4.2. Элементfo:inline-container
- •3.4.3. Элементfo:leader
- •3.4.4. Элементfo:initial-property-set
- •3.4.5. Элементfo:character
- •3.4.6. Элементы fo:external-graphic и fo:instream-foreign-object
- •3.4.7. Элементы fo:page-number и fo:page-number-citation
- •3.5. Элементы форматирования для таблиц
- •3.5.1. Элемент fo:table-and-caption и fo:table-caption
- •3.5.2. Элементfo:table
- •3.5.3. Элементыfo:table-header,fo:table-bodyиfo:table-footer
- •3.5.4. Элементfo:table-column
- •3.5.5. Элементfo:table-row
- •3.5.6. Элементfo:table-cell
- •3.6. Элементы форматирования списков вXsl
- •3.7. Создание закладок
- •3.8. Разрешение ссылок
- •3.9. Выполнение форматирования документов в xmlSpy
- •3.4.1. Создание документа xsl
- •3.4.2. Выполнение форматирования xsl
- •4. Порядок выполнения работы
- •Вариант 6-01
- •Вариант 6-02
- •Вариант 6-03
- •Вариант 6-04
- •Вариант 6-05
- •Вариант 6-06
- •Вариант 6-07
- •Вариант 6-08
- •Вариант 6-09
- •Вариант 6-10
- •Вариант 6-11
- •Вариант 6-12
- •Вариант 6-13
- •Вариант 6-14
- •Вариант 6-15
- •Вариант 6-16
- •Вариант 6-17
- •Вариант 6-18
- •Вариант 6-19
- •Вариант 6-20
- •Вариант 6-21
- •Вариант 6-22
- •Вариант 6-23
- •Вариант 6-24
- •Вариант 6-25
- •Вариант 6-26
- •Вариант 6-27
- •Вариант 6-28
- •Вариант 6-29
- •Вариант 6-30
- •5. Содержание отчета
- •6. Вопросы для самоконтроля
3.9. Выполнение форматирования документов в xmlSpy
Программа XMLSpy2006HomeEdition(в дальнейшемXMLSpy) предоставляет удобные средства для создания файла преобразованияXSLT, выполнения преобразования и просмотра результата преобразования документов XML.
3.4.1. Создание документа xsl
Для создания файла документа XSL, содержащего как элементы языка XSLT (в пространстве имен xsl:), языка XSL (в пространстве именfo:), необходимо, чтобы в окнеCreate new documentприсутствовали типы
xsl Stylesheet v1.0
и
xsl Stylesheet v2.0.
Для открытия этого окна надо нажать
кнопку
на панели инструментов или выполнить
командуNewв менюFile.
Если указанные типы в окне отсутствуют, необходимо выполнить следующие действия:
выбрать в меню ToolsкомандуOptions;
в открывшемся окне выбрать вкладку File types;
в раскрывающемся меню File typesэтой вкладки (рис. 4.6.1) выделить расширение.xslи нажать кнопкуOK.

Рис. 4.6.1. Добавление типа .xslв список допустимых типов XMLSpy
После этого необходимо снова нажать
кнопку
на панели инструментов или выполнить
командуNewв менюFile.
В открывшемся окне выбирается тип
документа (XSL
Stylesheet
v2.0
с расширением.xsl)
(рис. 4.6.2) и нажимается кнопкаOK.

Рис. 4.6.2. Выбор типа документа для преобразования XSL
Затем в окне Create new XSL/XSLT file(рис. 4.6.3) выбрать третью радиокнопку.

Рис. 4.6.3. Выбор метода создания преобразования XSL
В результате открывается окно ввода и редактирования файла преобразования и форматирования, в котором в текстовом режиме вводятся элементы XSLT и XSL (рис. 4.6.4).
В начальном окне содержатся: пролог документа XML, начальный и конечный теги элемента xsl:stylesheet. Перед началом ввода преобразований необходимо изменить значение атрибутаencodingв прологе документа преобразования и форматирования на "windows-1251".

Рис. 4.5.3. Редактор и панели для создания и редактирования документа преобразования и форматирования
Слева в окне ввода и редактирования документа преобразования и форматирования размещены три панели:
панель элементов HTML (XHTML), XSLT и XSL(Elements);
панель атрибутов для элемента HTML (XHTML), XSLT или XSL, на котором установлен курсор (Attributes);
панель сущностей HTML (XHTML) (Entities).
Если выделить какую-либо строку в одной из этих панелей и дважды щелкнуть по ней мышью, то соответствующее ключевое слово, переменная или функция будут вставлены в запрос в позиции курсора. Кроме того, при вводе элемента или атрибута элемента выводится открывающееся меню, с помощью которого можно завершить ввод.
После ввода документа XSL его можно сохранить на диске с помощью команды Save AsменюFileкак файл с расширением.xsl.
3.4.2. Выполнение форматирования xsl
Для форматирования документов XMLиспользуетсяпроцессор объектов форматирования–FOP(Formatting Objects Processor), разработанный группой Apache. Это приложение Java, которое читает дерево объектов форматирования и отправляет результат форматирования в заданный вывод (формат PDF, вывод на экран – AWT, или на печать – print, формат языков PCL, PS (PostScript), SVG, XML – at, MIF для Adobe FrameMaker, а также текстовый формат).
Перед использованием FOP (файл fop-0.95-bin.rar) должен быть разархивирован в папку fop-0.95-bin. (желательно на диск C:).
Запуск FOP в командной строке выполняется следующим образом:
fop [опции] [-fo|-xml] исходный-файл [-xsl файл-XSL]
[-awt|-pdf|-mif|-pcl|-ps|-txt|-svg|-at|-print] выводной-файл
Из опций представляет интерес опция -c, задающая дополнительный конфигурационный файл (userconfig.xml). Эту опцию необходимо использовать, если в выводимом документе есть буквы кириллицы.
В качестве исходного файла может задаваться либо файл объектов форматирования (опция -fo), либо файл документаXML(опция-xml). Во втором случае должен быть также задан файл преобразований, содержащий объекты форматирования (опция-xsl). Следующие опции задают вид выводимого документа, а последний параметр задает имя выводного файла (при выводе на экран или на печать имя выводного указывать не надо).
Для облегчения вызова процессора FOP разработаны файлы fopxsl.batиfopfo.bat.
Файл исходного документа XML, файл схемы документа и файл документа XSL должны находиться в одной (текущей) папке и иметь одинаковые имена (например, myXML.xmlиmyXML.xsl). Перед запуском процессора FOP в текущую папку необходимо скопировать файлfopxsl.batиз папкиfop-0.95-binи затем настроить его: установить в начале файла абсолютный путь FOP как значение переменнойLOCAL_FOP_HOME(по умолчанию значение этой переменной равно "c:\fop-0.95-bin\"). Также должно быть установлено значение переменнойJAVA_HOME– абсолютный путь к пакетуJDKязыкаJava(по умолчанию значение этой переменной равно "c:\Program Files (x86)\Java\jdk1.6.0_17").
Процессор FOP в текущей папке запускается (например, в оболочке Far) с помощью команды
fopxsl.batимя
где – имя файла с документом XML (без расширения), например:
fopxsl.batmyXML.
Если в документе XSL нет ошибок, отформатированный документ будет записан в файл имя.pdf(например,myXML.pdf) в текущей папке.
Если в качестве исходного документа используется документ FO(файл с расширением.fo, например,myFO.fo), то перед запуском процессора FOP в текущую папку необходимо скопировать файлfopfo.batиз папкиfop-0.95-binи затем настроить его аналогично файлуfopxsl.bat.
В этом случае FOP в текущей папке запускается (например, в оболочке Far) с помощью команды
fopfo.batимя
где – имя файла с документом FO(без расширения), например:
fopfo.batmyFO.
Если в документе FOнет ошибок, отформатированный документ будет записан в файлимя.pdf(например,myFO.pdf) в текущей папке.
Отформатированный документ можно просмотреть с помощью программы AcrobatReader.
Примечание:в некоторых случаях командаfopxsl.batилиfopfo.batпри сделанных изменениях в документеXSLилиFOне меняет выходной документPDF. В этом случае необходимо удалить старый документPDFи заново запустить командуfopxsl.batилиfopfo.bat.
