tenshi
Новичок
xstyle - xslt с человеческим лицом
наваял тут прототип шаблонизатора. фактически является тем же xslt, но с более дружелюбным синтаксисом. обратно совместим с ним. можно свободно использовать и xslt и xstyle конструкции вперемешку. парные тэги имею минус в конце имени у открывающи, и точку - у закрывающих. специальный php класс отслеживает изменения исходников (.xs), перекомпилирует их (используя xslt преобразование) и кладёт рядом (.xsl).
примеры на обоих языках:
<xsl:value-of select=" $var " />
<?val $var ?>
<xsl:text> </xsl:text>
<?space?>
<xsl:include href="included-file.xs" />
<?include included-file.xs ?>
- во втором случае содержимое подключаемого файла будет вкомпилировано в текущий
<xsl:if test=" @count > 5 "> ого, сколько! </xsl:if>
<?if- @count > 5 ?> ого, сколько! <?if.?>
<?if @count > 5 \ 'ого, сколько!' ?>
- заметьте, угловую скобку экранировать не надо. бэкслэш тут и далее разделяет параметры.
<xsl:template match="p">
<?match- p ?>
<xsl:template match="p" mode="copy">
<?match- p \ copy ?>
<xsl:template mode="copy">
<?match- \ copy ?>
<xsl:template>
<?match- ?>
<xsl:call-template name="alert">
<?call- alert ?>
<xsl:call-template name="alert">
<xsl:with-param name="test" select=" @title " />
</xsl:call-template>
<?call- alert ?>
<?arg test \ @title ?>
<?call.?>
и прочее в том же духе
-~{}~ 24.08.10 04:08:
http://mojura.110mb.com/test/xslt-vs-smarty/xslt-vs-smarty.zip - исходники и тесты на поиграться
наваял тут прототип шаблонизатора. фактически является тем же xslt, но с более дружелюбным синтаксисом. обратно совместим с ним. можно свободно использовать и xslt и xstyle конструкции вперемешку. парные тэги имею минус в конце имени у открывающи, и точку - у закрывающих. специальный php класс отслеживает изменения исходников (.xs), перекомпилирует их (используя xslt преобразование) и кладёт рядом (.xsl).
примеры на обоих языках:
<xsl:value-of select=" $var " />
<?val $var ?>
<xsl:text> </xsl:text>
<?space?>
<xsl:include href="included-file.xs" />
<?include included-file.xs ?>
- во втором случае содержимое подключаемого файла будет вкомпилировано в текущий
<xsl:if test=" @count > 5 "> ого, сколько! </xsl:if>
<?if- @count > 5 ?> ого, сколько! <?if.?>
<?if @count > 5 \ 'ого, сколько!' ?>
- заметьте, угловую скобку экранировать не надо. бэкслэш тут и далее разделяет параметры.
<xsl:template match="p">
<?match- p ?>
<xsl:template match="p" mode="copy">
<?match- p \ copy ?>
<xsl:template mode="copy">
<?match- \ copy ?>
<xsl:template>
<?match- ?>
<xsl:call-template name="alert">
<?call- alert ?>
<xsl:call-template name="alert">
<xsl:with-param name="test" select=" @title " />
</xsl:call-template>
<?call- alert ?>
<?arg test \ @title ?>
<?call.?>
и прочее в том же духе
-~{}~ 24.08.10 04:08:
http://mojura.110mb.com/test/xslt-vs-smarty/xslt-vs-smarty.zip - исходники и тесты на поиграться