Алексей Валиков - Технология XSLT
- Название:Технология XSLT
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2002
- Город:Санкт-Петербург
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Алексей Валиков - Технология XSLT краткое содержание
Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.
Для начинающих и профессиональных программистов
Технология XSLT - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Глава 9. Использование XSLT совместно с другими языками программирования
Эта глава поможет сделать первые шаги разработчикам, которым необходимо использовать XSLT совместно с другими языками программирования. В ней приведены простые примеры вызова преобразований из программ на таких языках программирования, как Object Pascal, C/C++, VBScript, JavaScript, Java и некоторых других.
Глава 10. Расширения языка XSLT
Десятая глава посвящена вопросам создания и использования функций и элементов расширения. В этой главе разбирается процесс написания и подключения функций и элементов расширения на примере интерфейсов таких процессоров, как Saxon, Xalan и Oracle XSLT Processor, а также вопросы, связанные с обеспечением переносимости и отработкой исключительных ситуаций в преобразованиях, использующих расширения.
Глава 11. Готовые решения
Одиннадцатая глава написана для тех, кто не любит изобретать лишний раз велосипед. В ней описываются решения некоторых наиболее распространенных проблем, как-то: группировка, циклические и рекурсивные вычисления, операции над множествами и так далее.
Глава 12. Развитие технологий
Последняя глава книги позволяет забежать немного вперед и предугадать, что будет с языком XSLT в следующих его версиях. Выводы, которые делаются в этой главе, основаны на изменениях, предложенных в черновой версии XSLT 1.1, а также на требованиях, которые были сформированы ко второй версии языка. Анализ этой информации в будущем позволит безболезненно перейти на новую версию XSLT.
Приложение 1. Обзор XSLT-процессоров
В первом приложении произведен обзор наиболее распространенных XSLT- процессоров с тем, чтобы помочь читателю выбрать наиболее подходящий инструмент. Помимо этого, в начале приложения приводятся статистические сведения о производительности и популярности различных XSLT-процессоров.
Приложение 2. Краткий справочник элементов и атрибутов XSLT
Второе приложение содержит справочную информацию об элементах и атрибутах языка XSLT. В одну таблицу сведены синтаксис элементов и атрибутов и краткое описание их семантики.
Приложение 3. Краткий справочник функций XSLT и XPath
Третье приложение содержит справочную информацию о функциях базовой библиотеки языка XPath и функциях языка XSLT, которые дополняют эту библиотеку.
Приложение 4. Интернет-ресурсы, посвященные XSLT
В четвертом приложении приведен небольшой список полезных интернет-ресурсов, так или иначе связанных с XSLT. Сюда относятся списки часто задаваемых вопросов, уроки по XSLT, архивы библиотек и инструментов, официальные спецификации Консорциума W3 и так далее.
Соглашения
Расширенная форма Бэкуса-Наура
Несмотря на то, что эта книга главным образом посвящена языку XSLT, в ней также описываются расширяемый язык разметки XML и язык обращения к частям ХМL-документов, называемый XPath. Подробное и точное описание этих языков невозможно без четких определений синтаксических конструкций.
Для описания синтаксиса рассматриваемых языков мы будем использовать расширенные формы Бэкуса-Наура (РФБН, или, по-английски, Extended Backus-Naur Form, EBNF). EBNF — это современная модификация методологии, которая впервые была использована для описания языка программирования Алгол-60. За прошедшие десятилетия формы Бэкуса-Наура были доработаны множеством авторов и сейчас в расширенном виде используются для описания ряда языков программирования различной степени сложности. EBNF-нотация также широко используется в технических рекомендациях Консорциума W3, которые фактически и являются стандартами рассматриваемых нами языков.
Нотация EBNF определяет язык как набор синтаксических правил, определяющих нетерминалы (конструкции языка) через терминалы (символы языка), а также другие нетерминалы. Правило состоит из двух частей, разделенных символами " ::=
":
конструкция ::= определение конструкции
В левой части правила стоит терминал определяемой конструкции, в правой — выражение, определяющее эту конструкцию. Правила EBNF также иногда называют продукциями, и мы тоже часто будем использовать этот термин, чтобы не путать эти правила с шаблонными правилами преобразований, которые главным образом и составляют преобразования в языке XSLT.
Терминалы, которые могут быть как отдельными символами, так и их последовательностями, определяются в нотации EBNF следующим образом:
□ #x N
, где N
— шестнадцатеричный код, соответствует символу Unicode с кодом N
. Например, #х410
соответствует символу А
кириллического алфавита ( см. раздел "Использование Unicode" главы 1 ).
□ [a-zA-z]
, [#x N -#x N ]
— соответствует символу указанного интервала. К примеру, [a-f]
соответствует любому из символов а
, b
, с
, d
, e
, f
.
□ [abc]
, [#x N #x N #x N ]
— соответствует любому из перечисленных символов. Например, [#х410#х411#х412]
соответствует любому из символов А
, Б
, В
. Символьные интервалы и перечисления могут использоваться совместно в одних квадратных скобках.
□ [^a-z]
, [^#х N -#x N ]
— соответствует любому символу, кроме символов указанного интервала. К примеру, [^#х410-#x42F]
соответствует любому символу, кроме заглавных букв русского алфавита.
□ [^abc]
, [^#x N #x N #x N ]
— соответствует любому, кроме перечисленных символов. Например, [^xyz]
соответствует любому символу, кроме символов x
, y
и z
. Аналогично разрешенным интервалам и последовательностям символов, запрещенные интервалы и последовательности также могут использоваться совместно.
□ "строка"
— соответствует строке, которая приведена в двойных кавычках. Например, "stylesheet"
соответствует строке stylesheet
.
□ 'строка'
— соответствует строке, которая приведена в одинарных кавычках. Например, 'template'
соответствует строке template
.
Терминалы могут использоваться совместно с нетерминальными конструкциями в более сложных выражениях.
□ A?
означает, что выражение A
необязательно и может быть пропущено.
□ A | B
соответствует либо выражению A
, либо выражению B
, но не им обоим одновременно (строгое "или"). Выражения такого вида называют иначе выбором .
□ A B
означает, что за выражением A
следует выражение B
. Последовательность имеет приоритет по сравнению с выбором — A B | C D
означает последовательность выражений A
и B
или последовательность выражений C
и D
.
Интервал:
Закладка: