Обычный код PHP внутри шаблона XSLT, возможно ли это? - PullRequest
1 голос
/ 18 октября 2011

Интересно, могу ли я и как включить код в свой шаблон XSLT ... Я знаю, что могу использовать <xsl:choose>, но это не удовлетворяет моим потребностям, я хочу добавить функции, переменные и т. Д ...

<?xml version="1.0" encoding="utf-8"?>  
<xsl:stylesheet version="1.0"
xmlns:php="http://php.net/xsl"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:output method="html" encoding="UTF-8" indent="yes"/>  

<xsl:template match="BackgroundReportPackage">

<!--- here i would like to add code like ---->

if ($dateofcharge < 7) {
return '

<xsl:for-each select="Charge">
            <table class="special2" cellpadding="0">
                <tr class="tr-border-bottom">
                    <td class="front-td-text" valign="top">Charge ID: </td>
                    <td class="minimalec">
                    <xsl:value-of select="ChargeId"/>           
                    </td>
                </tr>

                <tr class="tr-border-bottom">
                    <td class="front-td-text" valign="top">Charge Type Classification: </td>
                    <td class="minimalec">
                    <xsl:value-of select="ChargeTypeClassification"/>
                    </td>
                </tr>                   

            </table>

';          
} else {
 do nothing
 }

 <!--- keep in mind that this code i've added is just for presentational purposes TO show you, how i want to use php code --->

</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Надеюсь, что кто-нибудь может помочь!

Ответы [ 2 ]

2 голосов
/ 18 октября 2011

Нет реальной причины, по которой вы могли бы написать такой шаблон, когда XSLT может делать, если блоки. То, что вы можете посмотреть, это

для изменения значений шаблона и

для использования функций PHP внутри шаблона. Это, вероятно, будет иметь больше смысла.

0 голосов
/ 18 октября 2011

Нет, тебе это не понравится.Вы можете включить код из внешних пространств имен, как вы бы писали функции расширения, но я подозреваю, что вы не сможете делать их в PHP, они обычно на предварительно скомпилированных языках, так как для этого вам нужно загрузить библиотеки.

Чего вам нужно достичь.с XSL не так много, чего бы вы не достигли, если бы вы обратили на это внимание, и, конечно, у вас не возникло бы проблем с чем-то тривиальным, как в вашем примере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...