From: bugs at weyert dot com Operating system: Windows XP PHP version: 4.3.7 PHP Bug Type: XSLT related Bug description: libxsl engine doesn't take <xsl:output> into account
Description: ------------ I am using the domxml php extension for transforming XSLT, only I have the problem that it doesnt take some of my <XSL:output> settings into acocunt. For example when I set ident="yes" it doesn't ident the output, and when I enabled the "omit-xml-declaration"-attribute this <?xml> declaration is this availabe, which should not in the output. The XSL:Output I use: <xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8" method="xml" indent="yes" omit-xml-declaration="yes" /> When I use the exact same XSLT file with php_xslt extension/Sablotron the output is as expected both settings are taken into account. Does anyone know if I am doing something wrong in my code? (see code below) I think it's a bug in the php_xmldom extension, because when I use xsltproc.exe (standalone version libxsl) the output is okay too. I also tried it in PHP5RC3 using DOMXSLT (well, the DomDocument and xsltprocessor classes) and in this one it also works as expected! Reproduce code: --------------- // // Process the XML file together with the XSLT file to generate the apporiate XHTML page... $xml = domxml_open_mem( $result ); // create a XmlDocument-object with the return xml file... if ( !$xml ) { die( "Error while parsing the XML document. Application has aborted." ); } // assign the XSLT stylesheet for this XML document... $xsl = domxml_xslt_stylesheet_file( $xsl_file ); // process the XSLT stylesheet with the assigned XML document... $result = NULL; $result = $xsl->process( $xml ); if ( DEBUG_MODE ) { $result->dump_file( $output_file ); } echo $result->dump_mem(); $xml->free(); // dispose the object Expected result: ---------------- I would expect a omitted <?xml version=""?> line, and the XSLT output to be formatted as seen in PHP5 RC3 or the sablotron XSLT library. Actual result: -------------- <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>My Title</title><script language="JavaScript" type="text/javascript" src="./j/forms.js"/><style type="text/css" media="all"> @import url( styles/allstyles.css ); </style></head><body><div etc. -- Edit bug report at http://bugs.php.net/?id=28992&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=28992&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=28992&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=28992&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=28992&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=28992&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=28992&r=needscript Try newer version: http://bugs.php.net/fix.php?id=28992&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=28992&r=support Expected behavior: http://bugs.php.net/fix.php?id=28992&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=28992&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=28992&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=28992&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=28992&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=28992&r=dst IIS Stability: http://bugs.php.net/fix.php?id=28992&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=28992&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=28992&r=float