1 / 29

XML Transformations 1.0 (XSLT 1.0)

Java Advanced. XML Transformations 1.0 (XSLT 1.0). Содержание. Введение Пути Выражения Функции Заключение. Часть 1. Введение. XML Transformations. Язык преобразования XML- документов XML HTML Текст Основан на XPath. XSL и XSLT. Extensible Stylesheet Language (XSL)

adler
Download Presentation

XML Transformations 1.0 (XSLT 1.0)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Advanced XML Transformations 1.0(XSLT 1.0)

  2. Содержание • Введение • Пути • Выражения • Функции • Заключение Java Advanced / XSLT 1.0

  3. Часть 1 Введение

  4. XML Transformations • Язык преобразования XML-документов • XML • HTML • Текст • Основан на XPath Java Advanced / XSLT 1.0

  5. XSL и XSLT • Extensible Stylesheet Language (XSL) • Правила отображения • Произвольный XML • Произвольный носитель • Этапы отображения XSLT FO Исходный документ Итоговый документ Отображение Java Advanced / XSLT 1.0

  6. Объявление преобразования • <xsl:stylesheet  id = id  extension-element-prefixes = tokens  exclude-result-prefixes = tokens  version = number> • <xsl:transform> • Пространство имен • http://www.w3.org/1999/XSL/Transform Java Advanced / XSLT 1.0

  7. Обработка пробелов • Удаление последовательностей пробелов • <xsl:strip-spaces elements=names /> • Сохранение последовательностей пробелов • <xsl:preserve-spaces elements=names /> • Умолчания • Исходный документ – сохранять • Преобразование – удалять (кроме xsl:text) Java Advanced / XSLT 1.0

  8. Часть 2 Шаблоны

  9. Правила преобразования • Узлы, соответствующих условию matchзаменяются содержимым шаблона • <xsl:template  match = pattern  priority = number  mode = qname> • Примеры • <xsl:template match=“a[@title = ``]”/> • <xsl:template match=“*”/> • <xsl:template match=“text()”/> Java Advanced / XSLT 1.0

  10. Применение преобразований • Применить преобразования к выбранным узлам • <xsl:apply-templates  select = node-set-expression  mode = qname> Java Advanced / XSLT 1.0

  11. Выбор применяемого правила • Совпадение режимов • Правила с максимальным приоритетом • * -0.25 • text() -0.5 • В порядке объявления (не обязательно) Java Advanced / XSLT 1.0

  12. Композиция преобразований • Включение преобразования • <xsl:include href=uri /> • Импортирование преобразования • <xsl:import href=uri /> • Уменьшает приоритет шаблонов Java Advanced / XSLT 1.0

  13. Правила по умолчанию • Рекурсивное применение к элементам с сохранением режима • Копирование текста и атрибутов • Игнорирование инструкций по абработке и комментариев Java Advanced / XSLT 1.0

  14. Именованные шаблоны • Определение <xsl:template name=qname> [<xsl:param name=qname select=default/>]* • Вызов <xsl:call-template name=name> <xsl:with-param name=qname> value </xsl:with-template> Java Advanced / XSLT 1.0

  15. Часть 3 Содержание шаблона

  16. Создание элементов и атрибутов • Создает элемент <xsl:element  name = {qname}  namespace = {uri-reference}> • Создает атрибут <xsl:attribute  name = {qname}  namespace = {uri-reference}> Java Advanced / XSLT 1.0

  17. Простое создание элементов • Элемент • <a href=“hello.html” title=“Hello page”/> • Вычисление выражений в атрибутах • <a href=“hello{position()}.html” title=“Hello page”/> Java Advanced / XSLT 1.0

  18. Создание текста • Создает текстовый узел <xsl:text disable-output-escaping=yesno> text</xsl:text> • Вычисление выражений <xsl:value-of select=value disable-output-escaping=yesno /> • Вывод чисел xsl:number Java Advanced / XSLT 1.0

  19. Копирование • Копирование имени элемента • <xsl:copy> • Копированиенабора узлов • <xsl:copy-of select=nodeset/> Java Advanced / XSLT 1.0

  20. Обход набора узлов • Применяет правило для узлов из набора <xsl:for-each select=nodeset> <xsl:sort select = string-expression data-type = { "text" | "number“| … } order = { "ascending" | "descending" } /> Java Advanced / XSLT 1.0

  21. Условия • Простое условие <xsl:if test=expression> • Выбор <xsl:choose> <xsl:when test=expression>…</xsl:when> <xsl:when test=expression>…</xsl:when> <xsl:otherwise>…</xsl:otherwise> </xsl:choose> Java Advanced / XSLT 1.0

  22. Переменные • Неизменяемые переменные • Простая переменная • <xsl:variable name=name select=value/> • Переменная с шаблоном • <xsl:variable name=name>…</xsl:variable> • Параметры преобразования • <xsl:param name=name select=value/> Java Advanced / XSLT 1.0

  23. Часть 4 Дополнительные возможности

  24. Дополнительные функции • Текущий узел • current() • Генерация уникального идентификатора • generate-id(nodeset) • Загрузка документа • document(uri) • Форматирование числа • format-number(number, format) Java Advanced / XSLT 1.0

  25. Ключи • Определение ключа • <xsl:key  name = qname  match = pattern  use = expression /> • Использование ключа • key(string, query) Java Advanced / XSLT 1.0

  26. Вывод • Инструкция по выводу • <xsl:output  method = "xml" | "html" | "text"  encoding = string  omit-xml-declaration = "yes" | "no"  doctype-public = string  doctype-system = string/> Java Advanced / XSLT 1.0

  27. Часть 5 Заключение

  28. Ссылки • XSL Transformations (XSLT) Version 1.0 // http://www.w3.org/TR/1999/REC-xslt-19991116 • Перевод спецификации // http://www.rol.ru/news/it/helpdesk/xslt01.htm • Валиков А. Технология XSLT Java Advanced / XSLT 1.0

  29. Вопросы Java Advanced / XSLT 1.0

More Related