|
|
Строка 1: |
Строка 1: |
- | XSLT - язык, основанный на формате XML. Его назначение - трансформация XML дерева с данными в какой-либо результирующий формат. Например: TXT, XHTML (HTML документ, соответсвующий правилам формата XML). Трансформация производится XSLT процессором.
| + | Статья переехала: http://wiki.bitel.ru/index.php/XSLT |
- | | + | |
- | {|
| + | |
- | |- valign=top
| + | |
- | | [[Изображение:XSLT_1.png]]
| + | |
- | |}
| + | |
- | | + | |
- | | + | |
- | В XSLT шаблоне различаются просто теги, которые без изменений перейдут в результирующий документ и управляющие теги для процессора с префиксом xslt. Пример фрагмента XSLT документа:
| + | |
- | <pre>
| + | |
- | <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>
| + | |
- | </pre>
| + | |
- | | + | |
- | Здесь форматируется 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 формируются все выводимые биллингом XHTML, TXT, PDF формы, в т.ч. страницы статистики пользователя. Модифицируя шаблон, поставляемый в составе системы, вы можете менять оформление выводимых данных любым образом. Для этого нужно только получить XML документ с данными и имя XSLT шаблона, который биллинг использует для той или иной трансформации.
| + | |
- | | + | |
- | Ниже приведены ссылки на руководства по XSLT. Язык разметки XSLT тесно завязан с языком XPath - языком выборки данных в XML деревьях. XSLT процессор используемый биллингом поддерживает спецификации XSLT и XPath версий 1.0 и 2.0.
| + | |
- | | + | |
- | '''На русском:'''
| + | |
- | #http://www.raleigh.ru/XML/XSLTutorial/contents.htm либо http://www.zvon.org/xxl/XSLTutorial/Output_rus/contents.htm
| + | |
- | #http://www.webclub.ru/archive/xml/article-724.html либо http://citforum.ru/internet/xmlxslt/xmlxslt.shtml
| + | |
- | #http://www.opennet.ru/base/dev/xml_example.txt.html
| + | |
- | #http://citforum.ru/internet/xslt/index.shtml
| + | |
- | | + | |
- | '''На английском:'''
| + | |
- | #ftp://bgbilling.ru/pub/bgbilling/doc
| + | |
- | #http://www.w3schools.com/xsl/default.asp
| + | |
- | #http://www.w3schools.com/xpath/default.asp
| + | |
- | #http://www.tizag.com/xmlTutorial/xslttutorial.php
| + | |
- | #http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html
| + | |
- | #http://www.topxml.com/xsl/tutorials/intro/default.asp
| + | |
- | #Запрос в Google: http://www.google.ru/search?hl=en&q=xslt+tutorial
| + | |