From: x-penguin at tut dot by Operating system: Linux PHP version: 5CVS-2004-07-10 (dev) PHP Bug Type: DOM XML related Bug description: DOM + XSL extension doesn't expand entities
Description: ------------ When attempting to do an XSL transformation using the new DOM and XSL extensions available in PHP 5 RC 3, I've noticed entities are not expanded in the output. If I import the DOM object into SimpleXML, the entities are expanded. I run Apache/2.0.48 (Unix). I don't recall seeing any errors when I built and installed Apache, PHP, libxml2, or libxslt. libxslt 1.1.8 libxml 2.6.11 php5cvs-2004-07-10 ./configure --prefix=/usr --sysconfdir=/etc/ --with-apxs2 --with-config-file-path=/etc --with-zlib --with-bz2 --enable-ftp --with-gettext --with-iconv --with-mysql=/usr --with-ncurses --enable-mbstring=ru --enable-mbregex --enable-mbstr-enc-trans --with-png --with-pgsql --disable-short-tags --with-xsl --with-libxml --with-gd --without-sqlite Reproduce code: --------------- <?php $xml = <<<EOD <!DOCTYPE example [ <!ENTITY entity1 "Entity 1"> <!ENTITY entity2 "Entity 2"> ]> <example> <element1>Example Document</element1> <element2>&entity1;</element2> <element3>&entity2;</element3> </example> EOD; $xsl = <<<EOD <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="example"> <p>XSL Element 1: <xsl:value-of select="element1" /></p> <p>XSL Element 2: <xsl:value-of select="element2" /></p> <p>XSL Element 3: <xsl:value-of select="element3" /></p> </xsl:template> </xsl:stylesheet> EOD; $xmlDOM = new DomDocument; $xmlDOM->loadXML($xml); $xslDOM = new DomDocument; $xslDOM->loadXML($xsl); $processor = new XsltProcessor; $processor->importStyleSheet($xslDOM); print $processor->transformToXML($xmlDOM); $xmlDocument = simplexml_import_dom($xmlDOM); print '<p>SimpleXML Element 1: ' . $xmlDocument->element1 . '</p>'; print '<p>SimpleXML Element 2: ' . $xmlDocument->element2 . '</p>'; print '<p>SimpleXML Element 3: ' . $xmlDocument->element3 . '</p>'; ?> Expected result: ---------------- XSL Element 1: Example Document XSL Element 2: Entity 1 XSL Element 3: Entity 2 SimpleXML Element 1: Example Document SimpleXML Element 2: Entity 1 SimpleXML Element 3: Entity 2 Actual result: -------------- XSL Element 1: Example Document XSL Element 2: XSL Element 3: SimpleXML Element 1: Example Document SimpleXML Element 2: Entity 1 SimpleXML Element 3: Entity 2 -- Edit bug report at http://bugs.php.net/?id=29087&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=29087&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=29087&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=29087&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=29087&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=29087&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=29087&r=needscript Try newer version: http://bugs.php.net/fix.php?id=29087&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=29087&r=support Expected behavior: http://bugs.php.net/fix.php?id=29087&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=29087&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=29087&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=29087&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=29087&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=29087&r=dst IIS Stability: http://bugs.php.net/fix.php?id=29087&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=29087&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=29087&r=float