SlideShare a Scribd company logo
Основы XSLT
http://ProductivityBlog.com.ua
О чем пойдет речь
▪ Что такое XSLT и чем он отличается от
всего, чем вы пользовались раньше
▪ XPath: что это, версии, XML-данные,
терминология
▪ Практика
Файлы и инструменты
Файлы практических работ в файле
XSLT_1.zip в папке Practice
XMLSpy из пакета ALTOVA MissionKit
Что такое XSLT
▪ XSL, CSS, X-Path, XSL-FO, XSLT
▪ Трансформации, XML to XML, XML to HTML,
XML to PDF
▪ Поддержка браузерами
▪ Демонстрация
Определение
▪ XSLT (eXtensible Stylesheet Language
Transformations) - язык преобразования
XML-документов
▪ Спецификация XSLT входит в состав XSL и
является рекомендацией W3C
▪ XSLT имеет множество различных применений,
в основном в области веб-программирования и
генерации отчётов
Программирование или
описание?
▪ И то, и другое!
▪ Декларативный, а не процедурный язык
▪ Вместо определения последовательности
исполняемых операторов вы определяете
правила преобразования
▪ Правила выбора (и, отчасти, преобразования)
данных пишутся на языке запросов XPath
XSLT
▪ XSL (eXtensible Stylesheet Language) - язык
преобразования и визуализации XML-
документов
▪ XSL использует язык XPath для навигации и
выбора элементов данных
▪ XSLT (XSL Transformation) – процесс
преобразования XML-данных во что-то другое
Типы файлов
▪XML файл содержит только данные
▪тег <table> - это только метка
▪ табличное представление?
▪ поле, описывающее стол какого-то типа?
▪HTML содержит данные и теги, описывающие
их отображение
▪Тег <table> отображает данных в табличной форме
Таблица стилей
▪ Определяет, как отображаются XML-данные
▪ Содержит ряд правил для отображения и
преобразования
▪ Расширение .XSL или .XSLT
▪ Результат – новый файл, содержащий данные
из XML-файла
Аналогия - CSS
CSS – таблица стилей для HTML
▪ Определяет как отображаются
элементы HTML-файла
XSL – таблица стилей для XML
▪ Определяет, как отображаются
XML-данные
CSS3 Paged Media Module – новый стандарт форматирования
документов. Т.е. с 2013, CSS3 предлагается как замена XSL-FO
Преобразование
▪ Имеются XML-данные
и таблица стилей XSLT
▪ Движок XSLT получает
и обрабатывает эти
файлы
▪ Результат обработки –
новый файл одного из
трех типов
XML to XML
▪ На основе исходных XML-
данных создается новый
XML-файл
▪ Данные из исходного файла
преобразуются в
соответствии со схемой
XML to HTML
▪ Создание веб-страницы
на основе XML-данных
▪ Обычно –
автоматизированный
процесс динамического
создания сайтов
XML-FO или XML to PDF
XML Formatting Object
Transformation
XML-данные превращаются в
форматированный объект
▪ Файл для печати, часто – PDF-
файл
CSS3 Paged Media Module – новый стандарт форматирования
документов. Т.е. с 2013, CSS3 предлагается как замена XSL-FO
Поддержка браузерами
▪ все современные браузеры
▪ Chrome – с версии 1
▪ Firefox – с версии 3
▪ Safari – с версии 3
▪ Opera –с версии 9
▪ Internet Explorer – с версии 6
Демо
1. каталог CD в файле cdcatalog.xml в папке Demo1
2. таблица стилей в файле cdcatalog.xsl
3. добавляем в XML-файл ссылку на таблицу стилей
<?xml-
stylesheet type="text/xsl" href="cdcatalog.xsl"?>
4. просматриваем результат
XPath: что это
▪ Определение
▪ Версии языка
▪ Структура XML-файла
▪ Структура XML-файла c точки зрения XPath
Определение
▪ XPath (XML Path Language) -
язык запросов к элементам XML-документа
▪ Разработан для организации доступа к частям
документа XML в файлах трансформации XSLT
▪ Является стандартом консорциума W3C
▪ XPath позволяет реализовать навигацию по
DOM в XML
Подробнее
Xpath – язык навигации по XML
▪ позволяет обращаться к элементам XML-
документа по их пути от корневого элемента
▪ рассматривает XML-документ как
иерархическую древовидную структуру
▪ вспомните пути в файловой системе и роль
символа /
Коротко
▪ XPath – это синтаксис для нахождения
элементоа XML-документа
▪ XPath использует пути (выражения) для
навигации в XML-документе
▪ XPath содержит библиотеку стандартных
функций (>100)
▪ XPath – это основной элемент XSLT
▪ XPath это рекомендация W3C
Версии XPath
▪ 16.11.1999 – версия 1.0
▪ 4 типа выражений: набор нод, булевские, числовые и
строковые
▪ 23.01.2007 – версия 2.0
▪ все примитивные типы XML (даты, годы, месяцы и др.),
расширенный набор функций и операторов
▪ ALTOVA MissionKit поддерживает обе версии
В декабре 2009 года началась разработка версии 2.1
Версии XPath
▪Самой популярной версией
является XPath 1.0
▪отсутствие поддержки XPath 2.0 со стороны
открытых библиотек
▪поддержка языка в браузерах зависит от LibXML
▪поддержка со стороны серверного
интерпретатора
Структура XML-файла
▪Список книг в файле reading_list.xml
▪Структура книги
▪Название (с атрибутом lang,
задающим язык)
▪ en = English, fr=French и т.д.
▪Автор
▪Год издания
Структура с точки зрения XPath
▪ Эдементы (ноды) расположены по иерархии
▪ Корневой элемент <reading_list> - предок (родитель)
элемента <book>
▪ <book> - родитель <title>, <author> и <year>
▪ Элементы с общим родителем называются
братьями (сиблингами)
▪ <title>, <author> и <year>
Практика – отбор элементов
Делаем и смотрим на результат:
1. Распаковать файлы практики
2. Открыть reading_list.xml в
XMLSpy
3. Перейти на вкладку Xpath
4. Набрать /reading_list
5. Дописать /b и выбрать book
6. Дописать /title
7. Заменить /title на /author
8. Удалить выражение и написать
//title
9. Заменить на //@lang
10.Заменить на
/reading_list/book/title/.
11.Дописать еще одну точку:
/reading_list/book/title/..
12.Дописать /year
Практика – предикаты
▪ Предикаты позволяют найти определенную ноду
или их набор, удовлетворяющий условиям
▪ Предикаты всегда берут в квадратные скобки [ ]
Практика – предикаты
Делаем и смотрим на результат:
1. Ввести /reading_list/book
2. Дописать [3]
3. Дописать /title
4. Заменить 3 на 2
5. Ввести /reading_list/book[last()]/title
6. Ввести
/reading_list/book[position()<3]/year
7. Ввести //book[1+1]/year
8. Ввести //title/[@lang]
9. Ввести //title/[@lang=“fr”]
10.Попробовать ввести
//book[author=“mark Twain”]/year и
//book[author=“Mark Twain”]/year
Практика – спецсимволы
▪Шаблоны (wildcards) позволяют найти
элементы с неизвестными именами
▪* - любая нода
▪@ - любой атрибут
▪Вспомните * и ? в DOS
Практика – спецсимволы
Делаем и смотрим на результат:
1. Ввести //book/*
2. Ввести //title/@*
3. Ввести //@*
4. Ввести //book/title | //book/author
Подводим итоги
▪ Мы узнали что такое XSLT
▪ Попробовали выполнить простое
преобразование
▪ Научились отбирать элементы
XML-документа
Вопросы
и ответы

More Related Content

Similar to XSLT - 1

C# Desktop. Занятие 09.
C# Desktop. Занятие 09.C# Desktop. Занятие 09.
C# Desktop. Занятие 09.Igor Shkulipa
 
C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.Igor Shkulipa
 
Msu.Center.Lectures.J07 Advanced Xml
Msu.Center.Lectures.J07 Advanced XmlMsu.Center.Lectures.J07 Advanced Xml
Msu.Center.Lectures.J07 Advanced Xmlolegol
 
Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"
Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"
Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"DataArt
 
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & TricksQA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & TricksQAFest
 
SharePoint и OpenXML
SharePoint и OpenXMLSharePoint и OpenXML
SharePoint и OpenXMLVitaly Baum
 
Java. Lecture 06. I/O
Java. Lecture 06. I/OJava. Lecture 06. I/O
Java. Lecture 06. I/Ocolriot
 
JavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianJavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianMikhail Davydov
 
06 Ввод-вывод
06 Ввод-вывод06 Ввод-вывод
06 Ввод-выводphearnot
 

Similar to XSLT - 1 (20)

C# Desktop. Занятие 09.
C# Desktop. Занятие 09.C# Desktop. Занятие 09.
C# Desktop. Занятие 09.
 
C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.
 
XSLT -5
XSLT -5 XSLT -5
XSLT -5
 
XML
XMLXML
XML
 
XSLT -2
XSLT -2XSLT -2
XSLT -2
 
Msu.Center.Lectures.J07 Advanced Xml
Msu.Center.Lectures.J07 Advanced XmlMsu.Center.Lectures.J07 Advanced Xml
Msu.Center.Lectures.J07 Advanced Xml
 
XSLT - 6
XSLT - 6XSLT - 6
XSLT - 6
 
Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"
Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"
Виктор Гунько "Трансфер данных: есть ли жизнь за пределами JSONa"
 
HTML
HTMLHTML
HTML
 
XSLT - 3
XSLT - 3XSLT - 3
XSLT - 3
 
Укрощение XML
Укрощение XMLУкрощение XML
Укрощение XML
 
XSLT -4
XSLT -4XSLT -4
XSLT -4
 
Архитектура ROS
Архитектура ROSАрхитектура ROS
Архитектура ROS
 
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & TricksQA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
 
SharePoint и OpenXML
SharePoint и OpenXMLSharePoint и OpenXML
SharePoint и OpenXML
 
Java. Lecture 06. I/O
Java. Lecture 06. I/OJava. Lecture 06. I/O
Java. Lecture 06. I/O
 
Html лаб 2
Html лаб 2Html лаб 2
Html лаб 2
 
JavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in RussianJavaScript on frontend and backend (in Russian
JavaScript on frontend and backend (in Russian
 
06 Ввод-вывод
06 Ввод-вывод06 Ввод-вывод
06 Ввод-вывод
 
Deep storm presentation
Deep storm presentationDeep storm presentation
Deep storm presentation
 

More from Alexander Babich

Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)Alexander Babich
 
M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...Alexander Babich
 
M365: Інші сервіси та застосунки
M365: Інші сервіси та застосункиM365: Інші сервіси та застосунки
M365: Інші сервіси та застосункиAlexander Babich
 
M365: Завершення
M365: ЗавершенняM365: Завершення
M365: ЗавершенняAlexander Babich
 
M365: рекомендації
M365: рекомендаціїM365: рекомендації
M365: рекомендаціїAlexander Babich
 
M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365Alexander Babich
 
M365: Роздаткові матеріали
M365: Роздаткові матеріалиM365: Роздаткові матеріали
M365: Роздаткові матеріалиAlexander Babich
 
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptxMeet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptxAlexander Babich
 
Ви обрали професію програміста
Ви обрали професію програмістаВи обрали професію програміста
Ви обрали професію програмістаAlexander Babich
 
Змішане навчання в ППФК
Змішане навчання в ППФКЗмішане навчання в ППФК
Змішане навчання в ППФКAlexander Babich
 
Формування професійних інтересів студентів
Формування професійних інтересів студентівФормування професійних інтересів студентів
Формування професійних інтересів студентівAlexander Babich
 
День відкритих дверей' 2021
День відкритих дверей' 2021День відкритих дверей' 2021
День відкритих дверей' 2021Alexander Babich
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure06. Обучение и сертификация по Azure
06. Обучение и сертификация по AzureAlexander Babich
 
05.Внедрение Azure
05.Внедрение Azure05.Внедрение Azure
05.Внедрение AzureAlexander Babich
 
04.Службы Azure - подробнее
04.Службы Azure - подробнее04.Службы Azure - подробнее
04.Службы Azure - подробнееAlexander Babich
 
03.Сколько стоит облако
03.Сколько стоит облако03.Сколько стоит облако
03.Сколько стоит облакоAlexander Babich
 

More from Alexander Babich (20)

Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)
 
M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...
 
M365: Інші сервіси та застосунки
M365: Інші сервіси та застосункиM365: Інші сервіси та застосунки
M365: Інші сервіси та застосунки
 
M365: OneDrive
M365: OneDriveM365: OneDrive
M365: OneDrive
 
M365: Завершення
M365: ЗавершенняM365: Завершення
M365: Завершення
 
M365: SharePoint
M365: SharePointM365: SharePoint
M365: SharePoint
 
M365: рекомендації
M365: рекомендаціїM365: рекомендації
M365: рекомендації
 
M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365
 
M365: Вступ
M365: ВступM365: Вступ
M365: Вступ
 
M365: Роздаткові матеріали
M365: Роздаткові матеріалиM365: Роздаткові матеріали
M365: Роздаткові матеріали
 
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptxMeet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
 
Ви обрали професію програміста
Ви обрали професію програмістаВи обрали професію програміста
Ви обрали професію програміста
 
Змішане навчання в ППФК
Змішане навчання в ППФКЗмішане навчання в ППФК
Змішане навчання в ППФК
 
Формування професійних інтересів студентів
Формування професійних інтересів студентівФормування професійних інтересів студентів
Формування професійних інтересів студентів
 
День відкритих дверей' 2021
День відкритих дверей' 2021День відкритих дверей' 2021
День відкритих дверей' 2021
 
Спробуйте Python
Спробуйте PythonСпробуйте Python
Спробуйте Python
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure
 
05.Внедрение Azure
05.Внедрение Azure05.Внедрение Azure
05.Внедрение Azure
 
04.Службы Azure - подробнее
04.Службы Azure - подробнее04.Службы Azure - подробнее
04.Службы Azure - подробнее
 
03.Сколько стоит облако
03.Сколько стоит облако03.Сколько стоит облако
03.Сколько стоит облако
 

XSLT - 1

  • 2. О чем пойдет речь ▪ Что такое XSLT и чем он отличается от всего, чем вы пользовались раньше ▪ XPath: что это, версии, XML-данные, терминология ▪ Практика
  • 3. Файлы и инструменты Файлы практических работ в файле XSLT_1.zip в папке Practice XMLSpy из пакета ALTOVA MissionKit
  • 4. Что такое XSLT ▪ XSL, CSS, X-Path, XSL-FO, XSLT ▪ Трансформации, XML to XML, XML to HTML, XML to PDF ▪ Поддержка браузерами ▪ Демонстрация
  • 5. Определение ▪ XSLT (eXtensible Stylesheet Language Transformations) - язык преобразования XML-документов ▪ Спецификация XSLT входит в состав XSL и является рекомендацией W3C ▪ XSLT имеет множество различных применений, в основном в области веб-программирования и генерации отчётов
  • 6. Программирование или описание? ▪ И то, и другое! ▪ Декларативный, а не процедурный язык ▪ Вместо определения последовательности исполняемых операторов вы определяете правила преобразования ▪ Правила выбора (и, отчасти, преобразования) данных пишутся на языке запросов XPath
  • 7. XSLT ▪ XSL (eXtensible Stylesheet Language) - язык преобразования и визуализации XML- документов ▪ XSL использует язык XPath для навигации и выбора элементов данных ▪ XSLT (XSL Transformation) – процесс преобразования XML-данных во что-то другое
  • 8. Типы файлов ▪XML файл содержит только данные ▪тег <table> - это только метка ▪ табличное представление? ▪ поле, описывающее стол какого-то типа? ▪HTML содержит данные и теги, описывающие их отображение ▪Тег <table> отображает данных в табличной форме
  • 9. Таблица стилей ▪ Определяет, как отображаются XML-данные ▪ Содержит ряд правил для отображения и преобразования ▪ Расширение .XSL или .XSLT ▪ Результат – новый файл, содержащий данные из XML-файла
  • 10. Аналогия - CSS CSS – таблица стилей для HTML ▪ Определяет как отображаются элементы HTML-файла XSL – таблица стилей для XML ▪ Определяет, как отображаются XML-данные CSS3 Paged Media Module – новый стандарт форматирования документов. Т.е. с 2013, CSS3 предлагается как замена XSL-FO
  • 11. Преобразование ▪ Имеются XML-данные и таблица стилей XSLT ▪ Движок XSLT получает и обрабатывает эти файлы ▪ Результат обработки – новый файл одного из трех типов
  • 12. XML to XML ▪ На основе исходных XML- данных создается новый XML-файл ▪ Данные из исходного файла преобразуются в соответствии со схемой
  • 13. XML to HTML ▪ Создание веб-страницы на основе XML-данных ▪ Обычно – автоматизированный процесс динамического создания сайтов
  • 14. XML-FO или XML to PDF XML Formatting Object Transformation XML-данные превращаются в форматированный объект ▪ Файл для печати, часто – PDF- файл CSS3 Paged Media Module – новый стандарт форматирования документов. Т.е. с 2013, CSS3 предлагается как замена XSL-FO
  • 15. Поддержка браузерами ▪ все современные браузеры ▪ Chrome – с версии 1 ▪ Firefox – с версии 3 ▪ Safari – с версии 3 ▪ Opera –с версии 9 ▪ Internet Explorer – с версии 6
  • 16. Демо 1. каталог CD в файле cdcatalog.xml в папке Demo1 2. таблица стилей в файле cdcatalog.xsl 3. добавляем в XML-файл ссылку на таблицу стилей <?xml- stylesheet type="text/xsl" href="cdcatalog.xsl"?> 4. просматриваем результат
  • 17. XPath: что это ▪ Определение ▪ Версии языка ▪ Структура XML-файла ▪ Структура XML-файла c точки зрения XPath
  • 18. Определение ▪ XPath (XML Path Language) - язык запросов к элементам XML-документа ▪ Разработан для организации доступа к частям документа XML в файлах трансформации XSLT ▪ Является стандартом консорциума W3C ▪ XPath позволяет реализовать навигацию по DOM в XML
  • 19. Подробнее Xpath – язык навигации по XML ▪ позволяет обращаться к элементам XML- документа по их пути от корневого элемента ▪ рассматривает XML-документ как иерархическую древовидную структуру ▪ вспомните пути в файловой системе и роль символа /
  • 20. Коротко ▪ XPath – это синтаксис для нахождения элементоа XML-документа ▪ XPath использует пути (выражения) для навигации в XML-документе ▪ XPath содержит библиотеку стандартных функций (>100) ▪ XPath – это основной элемент XSLT ▪ XPath это рекомендация W3C
  • 21. Версии XPath ▪ 16.11.1999 – версия 1.0 ▪ 4 типа выражений: набор нод, булевские, числовые и строковые ▪ 23.01.2007 – версия 2.0 ▪ все примитивные типы XML (даты, годы, месяцы и др.), расширенный набор функций и операторов ▪ ALTOVA MissionKit поддерживает обе версии В декабре 2009 года началась разработка версии 2.1
  • 22. Версии XPath ▪Самой популярной версией является XPath 1.0 ▪отсутствие поддержки XPath 2.0 со стороны открытых библиотек ▪поддержка языка в браузерах зависит от LibXML ▪поддержка со стороны серверного интерпретатора
  • 23. Структура XML-файла ▪Список книг в файле reading_list.xml ▪Структура книги ▪Название (с атрибутом lang, задающим язык) ▪ en = English, fr=French и т.д. ▪Автор ▪Год издания
  • 24. Структура с точки зрения XPath ▪ Эдементы (ноды) расположены по иерархии ▪ Корневой элемент <reading_list> - предок (родитель) элемента <book> ▪ <book> - родитель <title>, <author> и <year> ▪ Элементы с общим родителем называются братьями (сиблингами) ▪ <title>, <author> и <year>
  • 25.
  • 26. Практика – отбор элементов Делаем и смотрим на результат: 1. Распаковать файлы практики 2. Открыть reading_list.xml в XMLSpy 3. Перейти на вкладку Xpath 4. Набрать /reading_list 5. Дописать /b и выбрать book 6. Дописать /title 7. Заменить /title на /author 8. Удалить выражение и написать //title 9. Заменить на //@lang 10.Заменить на /reading_list/book/title/. 11.Дописать еще одну точку: /reading_list/book/title/.. 12.Дописать /year
  • 27. Практика – предикаты ▪ Предикаты позволяют найти определенную ноду или их набор, удовлетворяющий условиям ▪ Предикаты всегда берут в квадратные скобки [ ]
  • 28. Практика – предикаты Делаем и смотрим на результат: 1. Ввести /reading_list/book 2. Дописать [3] 3. Дописать /title 4. Заменить 3 на 2 5. Ввести /reading_list/book[last()]/title 6. Ввести /reading_list/book[position()<3]/year 7. Ввести //book[1+1]/year 8. Ввести //title/[@lang] 9. Ввести //title/[@lang=“fr”] 10.Попробовать ввести //book[author=“mark Twain”]/year и //book[author=“Mark Twain”]/year
  • 29. Практика – спецсимволы ▪Шаблоны (wildcards) позволяют найти элементы с неизвестными именами ▪* - любая нода ▪@ - любой атрибут ▪Вспомните * и ? в DOS
  • 30. Практика – спецсимволы Делаем и смотрим на результат: 1. Ввести //book/* 2. Ввести //title/@* 3. Ввести //@* 4. Ввести //book/title | //book/author
  • 31. Подводим итоги ▪ Мы узнали что такое XSLT ▪ Попробовали выполнить простое преобразование ▪ Научились отбирать элементы XML-документа

Editor's Notes

  1. XSL (eXtensible Stylesheet Language) — семейство рекомендаций консорциума W3C, описывающее языки преобразования и визуализации XML-документов. Состоит из трех частей: XSL Transformations (XSLT) — язык преобразований XML-документов. XSL Formatting Objects (XSL-FO) — язык разметки типографских макетов и иных предпечатных материалов. XPath — язык путей и выражений, используемый в XSLT для доступа к отдельным частям XML-документа. Консо́рциум Всеми́рной паути́ны (англ. World Wide Web Consortium, W3C) — организация, разрабатывающая и внедряющая технологические стандарты дляВсемирной паутины. Консорциум возглавляет сэр Тимоти Джон Бернерс-Ли, автор множества разработок в области информационных технологий.  Одной из задач, решаемых языком XSLT, является отделение данных от их представления, как часть общей парадигмы MVC (англ. Model-view-controller). Другой стандартной задачей является преобразование XML-документов из одной XML-схемы в другую. XML (англ. eXtensible Markup Language — расширяемый язык разметки; произносится [экс-эм-эл]) — рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. 
  2. XPath (XML Path Language) — язык запросов к элементам XML-документа. Разработан для организации доступа к частям документа XML в файлах трансформации XSLT и является стандартом консорциума W3C. XPath призван реализовать навигацию по DOM вXML. В XPath используется компактный синтаксис, отличный от принятого в XML. 
  3. XML Schema — язык описания структуры XML-документа. Спецификация XML Schema является рекомендацией W3C. Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.
  4. http://www.w3schools.com/xsl/xsl_transformation.asp
  5. DOM (от англ. Document Object Model — «объектная модель документа») — это не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптамполучить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов. Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями "родительский-дочерний". Изначально различные браузеры имели собственные модели документов (DOM), несовместимые с остальными. Для обеспечения взаимной и обратной совместимости, специалисты международного консорциума W3C классифицировали эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM. Еще один интерфейс прикладного программирования, называемый JDOM, обеспечивает более высокий, чем W3C DOM, уровень для работы с XML-документами на Java.
  6. XQuery — язык запросов, разработанный для обработки данных в формате XML. XQuery использует XML как свою модель данных. XML Pointer Language (XPointer) — расширяемая спецификация, определяющая способы адресации структурных элементов и фрагментов документов в формате XML. Спецификация XPointer включает несколько частей: описание базовых правил или каркаса (framework), служащего основой для различных схем адресации фрагментов XML-документов, и, собственно, описания этих схем. В настоящее время существуют три таких схемы: element(), xmlns() и xpointer(), предназначенные для поиска элементов по их расположению, на основе пространства имён и при помощи языка XPath, соответственно. Схема xpointer(), которая основана на XML Path Language (XPath) обеспечивает гибкую адресацию внутренних структур XML документов. Она поддерживает просмотр-обход дерева документа и выбор его внутренних частей основанный на различных свойствах, таких, как типы элементов, значения атрибутов, характер контента и уровень родства. Технологии, составляющие XPointer подпадают под действие патентов, принадлежащих Sun Microsystems. XML Linking Language (XLink) — это разработанный в консорциуме W3 язык разметки, позволяющий вставлять в XML документы элементы, чтобы создать и описать ссылки между ресурсами. Он использует синтаксис XML, чтобы создать структуры, которые смогут описать как простые однонаправленные ссылки сегодняшнего HTML, так и сложные ссылки.
  7. Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License. XML itself is a metalanguage to design markup languages, i.e. text language where semantic and structure are added to the content using extra "markup" information enclosed between angle brackets. HTML is the most well-known markup language. Though the library is written in C a variety of language bindings make it available in other environments. Libxml2 is known to be very portable, the library should build and work without serious troubles on a variety of systems (Linux, Unix, Windows, CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks, ...)