Есть такая штука: http://php.net/manual/en/xsltprocessor. ... ctions.html Есть такой XML HTML: <?xml version="1.0" encoding="UTF-8"?> <node1 version="2"> <result> <rowset> <row typeID="11489"> <row typeID="11489"> </rowset> </node1> Есть такой XSL HTML: <?xml version="1.0" encoding="windows-1251"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output method="html" encoding="windows-1251" indent="yes"/> <xsl:template match="node1"> <div class="page-title"><h2>нода</h2></div> <div class="inner"> <xsl:for-each select="result/rowset/row"> <div class="page-subtitle"><h2><xsl:value-of select="php:function ('getItemNameById',@typeID)"/></h2></div> </xsl:for-each> </div> </xsl:template> </xsl:stylesheet> есть такая ф-ция PHP: function getItemNameById($typeID) { ..... return "ываыва"; } и вот так я применяю стиль к XML PHP: $xsl = new DomDocument(); $xsl->loadXML($input_xsl); $xml = new DomDocument(); $xml->loadXML($input_xml); $proc = new XsltProcessor(); $proc->registerPhpFunctions(); $proc->importStylesheet($xsl); echo $proc->transformToXML($xml); Кто скажет, ПОЧЕМУ в стиле не работает строчка <xsl:value-of select="php:function ('getItemNameById',@typeID)"/> ????? Я пробовал и php:function и php:functionString и в класс и в класс со статик методом и с неймспейсом, нифига! Кто курил эту дрянь, подскажите%)
Проблема решена! HTML: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" xsl:extension-element-prefixes="php" > <xsl:output method="xml" indent="yes" encoding="utf-8" /> <xsl:namespace-alias stylesheet-prefix="php" result-prefix="xsl" />