XSLTProcessor中的崩溃:: importStyleSheet()

时间:2015-07-01 01:17:34

标签: php xml xslt

$xslt->importStyleSheet();时坠毁 我的屏幕上显示Internal Server Error。 但是,当我将position()=1替换为false中的design.xsl时,它可以正常工作。

  • PHP Version 5.3.29
  • 支持XML支持
  • XML命名空间支持活动
  • libxml2版本2.9.1
  • 启用XSL
  • libxslt Version 1.1.14
  • libxslt针对libxml版本2.6.19
  • 编译

testxslt.php

$xslt = new xsltProcessor;
$xslt->importStyleSheet(DomDocument::load('design.xsl'));
print $xslt->transformToXML(DomDocument::load('data.xml'));

data.xml中

<?xml version="1.0" encoding="UTF-8"?>
<datalist>
    <data><title>title 1</title></data>
    <data><title>title 2</title></data>
    <data><title>title 3</title></data>
    <data><title>title 4</title></data>
</datalist>

design.xsl

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/datalist">
        <ul>
        <xsl:for-each select="data">
            <xsl:if test="position()=1">
                <li>top of entrylist</li>
            </xsl:if>
            <li><xsl:value-of select="title" /></li>
        </xsl:for-each>
        </ul>       
    </xsl:template>
</xsl:stylesheet>

有什么建议吗?感谢。

0 个答案:

没有答案