Синтаксис основных элементов XSL.
xsl:value-of Вставка некоторого значения в выходной поток. Синтаксис: <xsl:value-of select="expression" disable-output-escaping="yes|no"/>
Примеры: Запись в выходной поток значения элемента XML-документа: <xsl:value-of select="Book/Title"/> Запись в выходной поток значения текущего узла XML-документа: <xsl:value-of select="."/> Запись в выходной поток числа 10: <xsl:value-of select="5+5"/> Запись в выходной поток значения переменной book: <xsl:value-of select="$book"/> xsl:if Элемент – условный опреатор. Синтаксис: <xsl:if test="expression"> template-body </xsl:if>
Примеры: <xsl:if test="Book/Title = 'Война и мир'"> <xsl:value-of select="Book/Title"/><br/> <xsl:value-of select="Book/Creator"/><br/> </xsl:if> xsl:for-each Позволяет создать цикл. Синтаксис: <xsl:for-each select="expression"> <xsl:sort> template-body </xsl:for-each>
Элемент for-each выполняет две основные задачи: · осуществляет вывод блока элементов, содержащихся внутри элемента for-each, повторяя его для каждого XML-элемента в документе, отвечающего образцу, присвоенному атрибуту select элемента for-each; · for-each задает текущий элемент, устанавливаемый атрибутом select, и в XSL-элементах внутри элемента for-each уже не нужно указывать полное имя XML-элемента. Примеры: <xsl:for-each select="Library/Book"> <xsl:value-of select="dc:title"/><br/> <xsl:value-of select="dc:description/@xml:lang"/><br/> <xsl:value-of select="dc:identifier"/><br/><br/> </xsl:for-each> xsl:sort Элемент <xsl:sort> всегда является дочерним элементом элемента <xsl:for-each> или элемента <xsl:apply-templates> и позволяет задавать сортировку набора узлов. Синтаксис: <xsl:sort select="выражение" order="ascending|descending" case-order="upper-first|lower-first" lang="language-code" data-type="text|number|qname"/>
Примеры: <xsl:for-each select="Library/Book"> <xsl:sort data-type="text" select="dc:creator"/> <xsl:value-of select="dc:title"/> <xsl:value-of select="dc:creator"/> <xsl:value-of select="dc:description"/> </xsl:for-each> xsl: variable Объявление переменной. Синтаксис: <xsl:variable name="name" select="expression"> содержимое </xsl:variable> Атрибуты
В дальнейшей работе имя переменной используется со знаком "$". Начальное значение переменной задается следующими способами: · Если объявление переменной атрибут select, то значением переменной является объект, полученный в результате обработки выражения в атрибуте select. Содержимое элемента в этом случае должно быть пустым. <xsl:variable name="car" select="Audi"> · Если объявление переменной не имеет атрибута select, но имеет непустое содержание, тогда значение задается содержимым элемента и формируется фрагмент конечного дерева. Это позволяет использовать переменную в XSL-элементе value-of <xsl:variable name=" var1"> значение </xsl:variable> <xsl:value-of select="$var1"/> Если объявление переменной имеет пустое содержимое и не имеет атрибута select, значением переменной является пустая строка. <xsl:variable name="var1"/> Значение переменной можно просто подставить в выходной поток используя фигурные скобки, например: <xsl:variable name="para-font-size">18pt</xsl:variable> <div style="font-size={$para-font-size}"> Содержимое блока div </div> xsl:copy-of Копирует текущий элемент в выходной поток (с дочерними узлами и атрибутами) без предварительного конвертирования их в строку, как это делает элемент <xsl:value-of>. Данный элемент применяется тогда, когда нужно скопировать без изменений под-дерево из входного документа в выходной. Синтаксис: <xsl:copy-of select="expression"/>
Примеры: <xsl:copy-of select="Book/Pages"/> xsl:output Позволяет контролировать формат выходного потока данной таблицы стилей. Элемент <xsl:output> – элемент верхнего уровня и должен появляться как первый дочерний узел элемента <xsl:stylesheet> Синтаксис: <xsl:output method="xml|html|text|name" version="version" encoding="text" omit-xml-declaration="yes|no" standalone="yes|no" indent="yes|no"/>
Желательный элемент – в некоторых браузерах необходимо явно указывать тип выходного потока для правильной работы (например, Opera)
|