Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

XSLT 2.0

...

XSLT - язык, основанный на формате XML. Его назначение - трансформация XML дерева с данными в какой-либо результирующий формат. Например: TXT, XHTML (HTML документ, соответсвующий правилам формата XML). Трансформация производится XSLT процессором.

Версия 2.0 является существенным расширением версии 1.0, ключевые изменения можно посмотреть здесь: http://www.xmlhack.ru/texts/02/xslt20/xslt20.html

Image Removed

В XSLT шаблоне различаются просто теги, которые без изменений перейдут в результирующий документ и управляющие теги для процессора с префиксом xslt. Пример фрагмента XSLT документа:

Блок кода
languagejava
linenumbersfalse
<tbody>
  <xsl:for-each select="bills/bill">
  <xsl:variable name="uid" select="@uid"/>
  <tr>
   <td nowrap="nowrap"><xsl:value-of select="@number"/></td>
   <td><xsl:value-of select="@create_dt"/></td>
   <td><xsl:value-of select="@pay_dt"/></td>
   <td nowrap="nowrap"><xsl:value-of select="@summ"/></td>
   <td nowrap="nowrap">
    <xsl:choose>
     <xsl:when test="@status=0">не оплачен</xsl:when>
     <xsl:otherwise>оплачен</xsl:otherwise>
    </xsl:choose>
   </td>
   <td>
     <xsl:choose>
     <xsl:when test="$uid=-1">создан Вами</xsl:when>
     <xsl:otherwise>создан администратором</xsl:otherwise>
    </xsl:choose>
  < /td>

Здесь форматируется XHTML документ, при этом используются стандартые HTML теги (tr, td) и управляющие теги поцессора (xsl:choose, xsl:value-of). Рассмотрим несколько XSLT директив, встречающихся в приведенном фрагменте: <xsl:for-each select="bills/bill"> - для каждого узла bills/bill исходного дерева XML данных выполнить то что указано до </xsl:for-each>

<xsl:variable name="uid" select="@uid"/> - создать переменную uid и присвоить ей значение из атрибута uid текущего узла bill

<xsl:value-of select="@number"/> - вставить значение атрибута number текущего элемента bill

<xsl:choose> - условный оператор, аналог case либо if-else, внутри могу быть несколько <xsl:when> условий и действие по умолчанию <xsl:otherwise> Ниже приведены ссылки на руководства по XSLT. Язык разметки XSLT тесно завязан с языком XPath - языком выборки данных в XML деревьях. XSLT процессор "Saxon HE" используемый в BGCRM поддерживает спецификации XSLT и XPath версий 2.0 и 2.0.

 

JEXL

Якорь
jexl
jexl

JEXL - язык коротких выражений.

...

XSLT 2.0

Якорь
xslt20
xslt20

XSLT - язык, основанный на формате XML. Его назначение - трансформация XML дерева с данными в какой-либо результирующий формат. Например: TXT, XHTML (HTML документ, соответсвующий правилам формата XML). Трансформация производится XSLT процессором.

Версия 2.0 является существенным расширением версии 1.0, ключевые изменения можно посмотреть здесь: http://www.xmlhack.ru/texts/02/xslt20/xslt20.html

Image Added

В XSLT шаблоне различаются просто теги, которые без изменений перейдут в результирующий документ и управляющие теги для процессора с префиксом xslt. Пример фрагмента XSLT документа:

Блок кода
languagejava
linenumbersfalse
<tbody>
  <xsl:for-each select="bills/bill">
  <xsl:variable name="uid" select="@uid"/>
  <tr>
   <td nowrap="nowrap"><xsl:value-of select="@number"/></td>
   <td><xsl:value-of select="@create_dt"/></td>
   <td><xsl:value-of select="@pay_dt"/></td>
   <td nowrap="nowrap"><xsl:value-of select="@summ"/></td>
   <td nowrap="nowrap">
    <xsl:choose>
     <xsl:when test="@status=0">не оплачен</xsl:when>
     <xsl:otherwise>оплачен</xsl:otherwise>
    </xsl:choose>
   </td>
   <td>
     <xsl:choose>
     <xsl:when test="$uid=-1">создан Вами</xsl:when>
     <xsl:otherwise>создан администратором</xsl:otherwise>
    </xsl:choose>
  < /td>

Здесь форматируется XHTML документ, при этом используются стандартые HTML теги (tr, td) и управляющие теги поцессора (xsl:choose, xsl:value-of). Рассмотрим несколько XSLT директив, встречающихся в приведенном фрагменте: <xsl:for-each select="bills/bill"> - для каждого узла bills/bill исходного дерева XML данных выполнить то что указано до </xsl:for-each>

<xsl:variable name="uid" select="@uid"/> - создать переменную uid и присвоить ей значение из атрибута uid текущего узла bill

<xsl:value-of select="@number"/> - вставить значение атрибута number текущего элемента bill

<xsl:choose> - условный оператор, аналог case либо if-else, внутри могу быть несколько <xsl:when> условий и действие по умолчанию <xsl:otherwise> Ниже приведены ссылки на руководства по XSLT. Язык разметки XSLT тесно завязан с языком XPath - языком выборки данных в XML деревьях. XSLT процессор "Saxon HE" используемый в BGCRM поддерживает спецификации XSLT и XPath версий 2.0 и 2.0.

Документация BGCRM 3.0