Archive

Archive for the ‘XSLT’ Category

xsl:variable syntax

July 9th, 2010

<xsl:variable name=”имя” select=”xpath-expression”>some variable value</xsl:variable>

Dorian Gray XSLT ,

Решение проблемы пустой textarea в XSLT

July 9th, 2010

Если мы хотим корректно вывести через xslt пустую textarea делаем так:

<textarea><xsl:text><![CDATA[]]></xsl:text></textarea>

Dorian Gray XSLT ,

Решение проблемы пустых textarea и div при работе с XSLT

June 15th, 2010

Думаю многие, кто серьезздно работал с XSLT сталкивался с ситуацией, когда пустой div или textarea херили к ебеням все верстку. Обыдно да. Костыли в виде xsl:text или cdata хуйня на постном масле.

Возникает вопрос, а что же делать джедаям?

А джедаи юзают doctype.

Решение проблемы - правильый dcotype.

Делюсь своим

<xsl:output method=”xml” doctype-system=”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”
doctype-public=”-//W3C//DTD XHTML 1.0 Strict//EN”/>

Юзайте и радуйтесь - теперь нихуя не ломается.

Dorian Gray XSLT ,

Получение родительского узла в XSLT

April 22nd, 2010

parent::node()

Dorian Gray XSLT

Choose в XSLT

March 2nd, 2010
1
2
3
4
5
6
  <xsl:choose>
    <xsl:when test="...">
      ...
    </xsl:when>
    <xsl:otherwise>...</xsl:otherwise>
  </xsl:choose>

Dorian Gray XSLT

Использование php переменой в xslt

July 31st, 2009

Начнем с того что создадим переменную в шаблоне и ее вывод

1
2
3
4
5
6
7
8
9
10
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="error_msg" select="0" />
<html>
<head>
        <title>Books
</head>
<body>
<h1>Books</h1>
<xsl:value-of select="$error_msg" />

Внимание! У вас может появится желание убрать нолик из

1
select="0"

, не делайте этого, удалите select=”0″ целиком.

<xsl:param name="error_msg" />

Теперь присвоем значение переменной в момент трансформации на стороне php

$proc = new XSLTProcessor();
$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load('test4.xsl');
$xsl->importStyleSheet($doc);

$doc->load('test.xml');
$xsl->setParameter(NULL, 'error_msg', 'search item not found');
echo $xsl->transformToXML($doc);

Источник: http://mymans.org/2008/02/21/393

Dorian Gray PHP5, XSLT , , ,

Пример создания именованного шаблона в XSLT

June 23rd, 2009
<xsl:template name="topic_title">
    <xsl:param name="param1"/>
    <xsl:param name="param2"/>

    <xsl:value-of select="$param1"/>
</xsl:template>

Dorian Gray XSLT ,

Foreach в XSLT

June 23rd, 2009
 <xsl:for-each select="catalog/cd">
   <xsl:value-of select="..."/>
 </xsl:for-each>

Dorian Gray XSLT ,

Пример вызова именованного шаблона в XSLT

June 22nd, 2009
<xsl:call-template name="foo">
  <xsl:with-param name="x" select="1"/>
  <xsl:with-param name="y" select="2"/>
</xsl:call-template>

Dorian Gray XSLT ,

Как сделать пробел в XSLT.

April 11th, 2009

А вот так:

<xsl:text disable-output-escaping=”yes”><![CDATA[&nbsp;]]></xsl:text>

Dorian Gray XSLT ,