2010-05-29 2 views
0

간단한 질문 : 왜 그냥 마지막 인수를 돌아가는 XSL 스타일 시트에서라는 PHP 함수를 통과 :PHP와 XSLTProcessor에의 오작동

foo.xsl :

<xsl:template match="/"> 
    <xsl:value-of select="php:function('date','c')" /> 
</xsl:template> 

PHP :

... 
$xsl = new XSLTProcessor(); 
$xsl->registerPHPFunctions(); 
$xsl->importStylesheet($fooStylesheet); 
echo $xsl->transformToXML($myXML); 

출력을 얻으십시오

c 

<xsl:value-of select="php:function('date')" />으로 전화하면 date이 출력됩니다. 나에게 이상하게 보입니다.

버전 정보 :
PHP 5.3.2
libxslt를 버전 1.1.26
libxslt를 libxml 버전에 대해 컴파일 2.7.6
EXSLT libexslt 버전 1.1.26

+1

Did PHP 네임 스페이스를 스타일 시트 루트 태그에 넣으시겠습니까? ' ' – zneak

+0

@zneak - 그게 도움이 될거야! 답하고 당신의 +10을 얻으십시오 :) –

답변

1


당신이 필요로 활성화 <stylesheet> 루트 태그에있는 PHP xmlns :

<stylesheet xmlns:php="http://php.net/xsl"> 
+0

상당히 똑바로 앞으로, 그러나 나는 그 스타일 시동에서 1 시간 동안 시작하고있었습니다! –