0
無法使用樣式表進行轉換,該樣式表具有xsl:text節點內的實體。如果我將&some;放在xsl:text節點之外,則沒有錯誤和空輸出。PHP XSLTProcessor編譯錯誤
test.php的
$xml = new DOMDocument;
$xml->load('test.xml');
$xsl = new DOMDocument;
$xsl->load('test.xsl');
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
的test.xml
<?xml version="1.0" ?>
<test>123</test>
test.xsl
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY some "22323"> ]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:text>&some;</xsl:text>
</xsl:template>
</xsl:stylesheet>
遇到錯誤:
Warning: XSLTProcessor::importStylesheet(): xsltParseTemplateContent: xslt:text content problem in /Users/stexe/Repos/umi.cms.2/test.php on line 13
Call Stack:
0.0003 226288 1. {main}() /Users/stexe/Repos/umi.cms.2/test.php:0
0.0009 228424 2. XSLTProcessor->importStylesheet() /Users/stexe/Repos/umi.cms.2/test.php:13
OS X,PHP 5.4.45(自制)
PHP信息:
libxml2 Version => 2.9.5
ibxslt Version => 1.1.29
libxslt compiled against libxml Version => 2.9.4
PHP和XSLT標記在同一個問題?仍然是我的心...無論如何,&符號&是一個特殊的XML實體,它的符號不能獨立。注意XML實體與HTML實體不同。 – Parfait