Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 640747)
Контекстум
Антиплагиат Руконтекст

XSLT. Сборник рецептов (3000,00 руб.)

0   0
Первый авторМангано С.
ИздательствоМ.: ДМК Пресс
Страниц863
ID794722
АннотацияЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще модифицировать имеющийся код, чем писать новый с нуля. В версии 2.0 многие проблемы решены, но появился ряд новых возможностей, которые еще надо изучить. К тому же она пока недостаточно поддержана. Во втором издании настоящей книги приведены сотни решений задач, с которыми регулярно сталкиваются программисты. Даются варианты для обеих версий XSLT. Диапазон рецептов чрезвычайно широк: от операций со строками и математических вычислений до таких сложных тем, как расширение XSLT, тестирование и отладка таблиц стилей и создание графики в форме SVG. В каждом рецепте обосновывается выбор решения и объясняется примененная техника. Для многих задач приводятся альтернативные решения с замечаниями по поводу удобства пользования и производительности. Предлагая рецепты, рассчитанные на разные уровни квалификации, эта книга станет идеальным спутником программиста, который любит учиться на примерах. Неважно, примериваетесь вы к XSLT впервые или уже знакомы с этим языком и хотите иметь подборку готовых рецептов для решения сложных задач, в ней вы найдете самые разные способы применения XSLT.
ISBN978-5-89818-251-9
УДК004.438
ББК32.973.26-018.2
Мангано, С. . XSLT. Сборник рецептов / С. . Мангано .— 2-е изд., эл. — Москва : ДМК Пресс, 2022 .— 863 с. — ISBN 978-5-89818-251-9 .— URL: https://rucont.ru/efd/794722 (дата обращения: 26.06.2024)

Предпросмотр (выдержки из произведения)

XSLT._Сборник_рецептов.pdf
Стр.3
Стр.4
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
XSLT._Сборник_рецептов.pdf
УДК 004.438 ББК 32.973.26-018.2 М23 М23 Мангано, Сэл. XSLT. Сборник рецептов / С. Мангано ; пер. с англ. А. А. Слинкина. — 2-е изд., эл. — 1 файл pdf : 863 с. — Москва : ДМК Пресс ; СПб : БХВ-Петербург, 2022. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-251-9 Язык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще модифицировать имеющийся код, чем писать новый с нуля. В версии 2.0 многие проблемы решены, но появился ряд новых возможностей, которые еще надо изучить. К тому же она пока недостаточно поддержана. Во втором издании настоящей книги приведены сотни решений задач, с которыми регулярно сталкиваются программисты. Даются варианты для обеих версий XSLT. Диапазон рецептов чрезвычайно широк: от операций со строками и математических вычислений до таких сложных тем, как расширение XSLT, тестирование и отладка таблиц стилей и создание графики в форме SVG. В каждом рецепте обосновывается выбор решения и объясняется примененная техника. Для многих задач приводятся альтернативные решения с замечаниями по поводу удобства пользования и производительности. Предлагая рецепты, рассчитанные на разные уровни квалификации, эта книга станет идеальным спутником программиста, который любит учиться на примерах. Неважно, примериваетесь вы к XSLT впервые или уже знакомы с этим языком и хотите иметь подборку готовых рецептов для решения сложных задач, в ней вы найдете самые разные способы применения XSLT. УДК 004.438 ББК 32.973.26-018.2 В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-251-9 © Оформление, ДМК Пресс © Издание, БХВПетербург
Стр.3
Содержание Предисловие .................................................................................. 9 О структуре книги ....................................................................... 11 Типографские соглашения ......................................................... 13 О примерах кода ........................................................................ 14 Благодарности ........................................................................... 15 Глава 1. Язык XPath................................................................... 17 1.1. Применение осей ................................................................ 18 1.2. Фильтрация узлов ............................................................... 24 1.3. Работа с последовательностями ......................................... 27 1.4. Включение условий в выражения if ...................................... 29 1.5. Исключение рекурсии с помощью выражений for ............... 32 1.6. Упрощение сложной логики с помощью кванторов ............. 34 1.7. Операции над множествами ............................................... 36 1.8. Сравнение узлов ................................................................. 37 1.9. Как ужиться с расширенной системой типов в XPath 2.0 ..... 38 1.10. Как воспользоваться расширенной системой типов в XPath 2.0 .......................................................................... 41 Глава 2. Строки .......................................................................... 43 2.0. Введение ............................................................................. 43 2.1. Завершается ли данная строка указанной подстрокой?...... 44 2.2. Нахождение позиции начала подстроки .............................. 44 2.3. Удаление заданных символов из строки ............................. 45 2.4. Поиск подстроки с конца строки ......................................... 49 2.5. Повторение строки N раз .................................................... 53 2.6. Обращение строки .............................................................. 57 2.7. Замена текста ..................................................................... 61 2.8. Преобразование регистра .................................................. 67 2.9. Разбиение строки на лексемы ............................................. 70 2.10. Как обойтись без регулярных выражений .......................... 73 2.11. Использование регулярных выражений ............................. 74 2.12.Расширения EXSLT для работы со строками ...................... 76 Глава 3. Математические операции над числами ............. 80 3.0. Введение ............................................................................. 80 3.1. Форматирование чисел....................................................... 81 3.2. Округление чисел с заданной точностью ............................ 90
Стр.4
Содержание 4 3.3. Преобразование римских числительных в числа................. 93 3.4. Преобразование из одной системы счисления в другую ..... 96 3.5. Реализация стандартных математических функций .......... 100 3.6. Вычисление сумм и произведений .................................... 114 3.7. Нахождение минимума и максимума ................................ 120 3.8. Вычисление статистических функций ............................... 128 3.9. Вычисление комбинаторных функций ............................... 132 3.10. Проверка битов................................................................ 134 Глава 4. Даты и время ............................................................ 141 4.0. Введение ........................................................................... 141 4.1. Вычисление дня недели .................................................... 143 4.2. Вычисление последнего дня месяца ................................. 145 4.3. Получение названий дней и месяцев ................................ 146 4.4. Вычисление юлианского и абсолютного дня, соответствующих заданной дате....................................... 151 4.5. Вычисление номера недели, соответствующего заданной дате ................................................................... 156 4.6. Юлианский календарь ....................................................... 157 4.7. Календарь ISO ................................................................... 158 4.8. Исламский календарь ....................................................... 161 4.9. Еврейский календарь ........................................................ 164 4.10.Форматирование даты и времени .................................... 174 4.11. Определение светских и церковных праздников ............. 187 Глава 5. Отбор и обход ........................................................... 191 5.0. Введение ........................................................................... 192 5.1. Игнорирование элементовдубликатов ............................. 194 5.2. Отбор всех элементов, кроме одного ................................ 200 5.3. Отбор узлов по контексту .................................................. 201 5.4. Выполнение обхода в прямом порядке .............................. 203 5.5. Выполнение обхода в обратном порядке ........................... 208 5.6. Выполнение обхода во внутреннем порядке...................... 210 5.7. Выполнение обхода по уровням ........................................ 214 5.8. Обработка узлов по позиции ............................................. 221 Глава 6. XSLT 2.0...................................................................... 229 6.0. Введение ........................................................................... 229 6.1. Преобразование простых именованных шаблонов в функции XSLT ................................................................. 229 6.2. Для группировки пользуйтесь командой foreachgroup, а не методом Мюнха.......................................................... 231
Стр.5
Содержание 5 6.3. Модульность и режимы ..................................................... 235 6.4. Применение типов в целях безопасности и точности выражения намерений ...................................................... 236 6.5. Избегайте подводных камней при переносе с XSLT 1.0 на 2.0 ................................................................ 238 6.6. Эмуляция объектноориентированных методик повторного использования и паттернов проектирования ................................................................ 240 6.7. Обработка неструктурированного текста с помощью регулярных выражений ................................... 245 6.8. Решение трудных задач сериализации с помощью таблиц символов............................................. 249 6.9. Вывод нескольких документов .......................................... 251 6.10. Обработка строковых литералов, содержащих кавычки ..... 253 6.11. Новые возможности старых конструкций XSLT 1.0 .......... 253 Глава 7. Преобразование XML в текст ................................ 260 7.0. Введение ........................................................................... 260 7.1. Пустое пространство......................................................... 261 7.2. Экспорт XML в файл с разделителями полей..................... 267 7.3. Создание отчета с несколькими колонками ...................... 287 7.4. Отображение иерархии ..................................................... 299 7.5. Вывод текста с нумерацией .............................................. 308 7.6. Вывод текста в области заданной ширины с заданным выравниванием .............................................. 319 Глава 8. Преобразование XML в XML .................................. 323 8.0. Введение ........................................................................... 323 8.1. Преобразование атрибутов в элементы ............................ 324 8.2. Преобразование элементов в атрибуты ............................ 327 8.3. Переименование элементов или атрибутов ...................... 332 8.4. Объединение документов с одной и той же схемой .......... 339 8.5. Объединение документов с различными схемами ............ 345 8.6. Расщепление документов ................................................. 351 8.7. Уплощение иерархии XML ................................................. 353 8.8. Углубление иерархии XML ................................................. 357 8.9. Реорганизация иерархии XML ........................................... 363 Глава 9. Опрос XMLдокумента ............................................ 368 9.0. Введение ........................................................................... 369 9.1. Выполнение теоретикомножественных операций над наборами узлов .......................................................... 370
Стр.6
Содержание 6 9.2. Выполнение теоретикомножественных операций над наборами узлов с использованием семантики значений ........................................................................... 373 9.3. Сравнение наборов узлов на равенство по значению ....... 385 9.4. Выполнение запросов, сохраняющих структуру ................ 390 9.5. Соединения ....................................................................... 393 9.6. Реализация на XSLT сценариев, приведенных в спецификации W3C XML Query ....................................... 398 Глава 10. Преобразование XML в HTML ............................. 433 10.0. Введение ......................................................................... 433 10.1. Использование XSLT в качестве языка стилизации .......... 434 10.2. Создание документов, связанных гиперссылками ........... 443 10.3. Создание HTMLтаблиц ................................................... 446 10.4.Создание фреймов .......................................................... 455 10.5. Создание таблиц стилей, управляемых данными............. 461 10.6. Создание замкнутого преобразования ............................ 468 10.7. Заполнение формы .......................................................... 473 Глава 11. Преобразование XML в SVG ................................ 480 11.0. Введение ......................................................................... 480 11.1. Преобразование имеющейся заготовки SVG ................... 482 11.2. Создание повторно используемых утилит генерации SVG для графиков и диаграмм ............. 490 11.3. Создание графического представления деревьев ........... 532 11.4. Создание интерактивных Webстраниц, включающих SVG ............................................................. 543 Глава 12. Генерация кода ................................................ 554 12.0. Введение ......................................................................... 555 12.1. Генерация определений констант .................................... 565 12.2. Генерация предложения switch ........................................ 570 12.3. Генерация кода заглушки обработчика сообщения ......... 575 12.4. Генерация оберток для данных ........................................ 579 12.5. Генерация функций форматированной печати ................ 584 12.6. Генерация Webклиента для тестирования ввода данных ................................................................... 593 12.7. Генерация CGIсценария для обработки тестовых данных .............................................................. 595 12.8. Генерация кода из UMLмоделей, описанных на языке XMI ................................................... 601 12.9. Генерация XSLT из XSLT................................................... 620
Стр.7
Содержание 7 Глава 13. Рецепты применения XSLT в вертикальных приложениях .......................................... 625 13.0. Введение ......................................................................... 625 13.1. Преобразование документов из формата Visio VDX в формат SVG ........................................................................... 626 13.2. Работа с электронными таблицами в формате Excel XML ..... 641 13.3. Генерация тематических карт из UMLмодели с помощью XMI ......................................................................... 653 13.4. Генерация Webсайтов из тематических карт .................. 673 13.5. Генерация документации о SOAP из WSDLдокумента .... 689 Глава 14. Расширение и встраивание XSLT ...................... 706 14.0. Введение ......................................................................... 706 14.1. Функции расширения в Saxon .......................................... 707 14.2.Элементы расширения в Saxon ........................................ 708 14.3. Функции расширения в XalanJava 2 ................................ 709 14.4. Описание Javaфункций расширения в формате класса ..... 709 14.5. Описание Javaфункций расширения в формате пакета ..... 710 14.6. Описание Javaфункций расширения в формате Java ..... 710 14.7. Функции расширения на языке сценариев с использованием встроенного сценария ........................ 711 14.8. Элементы расширения в XalanJava 2 .............................. 711 14.9. Реализация элемента расширения на языке Java ............ 711 14.10.Реализация элемента расширения на сценарном языке..... 712 14.11.Функции расширения в MSXML ...................................... 713 14.12.Использование встроенных расширений Saxon и Xalan .... 714 14.13.Расширение XSLT с помощью JavaScript ........................ 730 14.14.Реализация функций расширения на языке Java .................................................................. 736 14.15.Реализация элементов расширения на языке Java .................................................................. 744 14.16.Работа с XSLT в программах на языке Perl ................................................................... 760 14.17.Работа с XSLT в программах на языке Java .................................................................. 763 Глава 15. Тестирование и отладка ...................................... 767 15.0. Введение ......................................................................... 767 15.1. Эффективное использование xsl:message ....................... 768 15.2. Трассировка потока обработки документа таблицей стилей .............................................................. 771
Стр.8
Содержание 8 15.3. Автоматизация вставки отладочной печати ..................... 778 15.4. Встраивание тестовых данных в служебные таблицы стилей ........................................................................ 786 15.5. Организация автономных тестов ..................................... 791 15.6. Тестирование граничных условий и ошибочных данных ..... 794 Глава 16. Обобщенное и функциональное программирование .............................. 798 16.0. Введение ......................................................................... 798 16.1. Создание полиморфного XSLTкода ................................ 805 16.2. Создание обобщенных функций агрегирования элементов ................................................ 814 16.3. Создание обобщенных функций ограниченного агрегирования ......................................... 828 16.4. Создание обобщенных функций отображения .................................................................... 836 16.5. Создание обобщенных генераторов наборов узлов .................................................................. 846 Алфавитный указатель ........................................................... 853
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст