Коротко об XSL
Абревиатура XSL происходит от eXtensible Stylesheet Language - язык форматирования таблиц стилей (XML данных). Как понятно из заголовка eXtensible Stylesheet Language (XSL) используется для форматирования XML данных. По определению W3C XSL состоит из двух частей:
При помощи XSLT мы можем отобрать нужные нам данные из XML файла, и оформить их в виде для предоставления пользователю. Например, в нашем случае мы преобразовали XML данные в виде SQL запроса. Классическое применение XSL - это, как правило форматирование данных в виде HTML страниц или более редкое представление в виде RTF файлов.
XSL файл описывает шаблон (template), согласно которому будет совершаться преобразование XML данных. Возращаясь к xsl-шаблонам, в XSLT можно выделить следующие элементы (директивы):
XSL-директивы описание | |
xsl:apply-templates | Директива, указывающая на применение соответствующих шаблонов аттрибуту select="имя шаблона" |
xsl:attribute | создает дерево аттрибутов и добавляет его в выходной элемент, пареметр name="имя аттрибута", namespace - URI на пространство имен (преффикс пространства имен) |
xsl:call-template | вызывает шаблон, аттрибуту name=" URI на шаблон" |
xsl:choose xsl:when xsl:otherwise | осуществление выбора по условию xsl:when expr="вычисление выражения на script ", language="language-name" test= "вычисляемое выражение" |
xsl:comment | генерирует комментарий в выходной документ |
xsl:copy xsl:copy-of | копирует текущей узел в выходной источник или вставляет фрагмент документа в узел, где аттрибут select="имя узла источника" |
xsl:element | создает выходной элемент по имени, аттрибут name="имя элемента", namespace="uri сслылка на пространство имен" |
xsl:for-each | повторно применяет шаблон ко всем узлам списка узлов, аттрибут select задает список узлов |
xsl:if | проверка условия, задается аттрибутом test в виде выражения |
xsl:include | включает внешний шаблон, аттрибут href = "URI reference" |
xsl:output | специфицирует выходной результат, аттрибут method может иметь значения "xml", "html" или "text" |
xsl:param | специфицирует значение параметров, аттрибут name="имя параметра", select = "значание" |
xsl:processing-instruction | создает инструкцию обработки, аттрибут name="имя процесс инструкции" |
xsl:sort | сортирует множество узлов, аттрибуты select = "имя узла", data-type = тип данных {"text" | "number" | Qname}, order = направление сортировки {"ascending" | "descending"} |
xsl:stylesheet | определяет документ xsl-шаблонов, является корневым элементом для XSLT |
xsl:template | определяет xsl-шаблон, аттрибут name= " URI преффикс на имя шиблона", match= "указание на узел, к которому применяется шаблон" |
xsl:text | генерирует текст в выходной поток, аттрибут disable-output-escaping = "yes" или "no", указывает на возможность генерации символов ESC |
xsl:value-of | вставляет значение выбранного узла как текст, аттрибут select= "указатель на узел" из которого берут значение |
xsl:variable | специфицирует значение границ переменных, аттрибут name = "имя переменной", select = "вычисление значения переменной" |
xsl:with-param | применяет параметр к шаблону, аттрибут name ="имя параметра", select = выражение для вычисления текущего контекста, значениие по умолчанию "." |