ID: 35247 Updated by: [EMAIL PROTECTED] Reported By: junkmail at eighteyes dot com Status: Feedback Bug Type: XSLT related Operating System: Windows 2000 PHP Version: 5.0.5 New Comment:
Chregu, This shouldn't work on any platform if I am correct. In PHP 5.1 a warning is explicity issued as this case is specifically tested in XSL extension: Warning: XSLTProcessor::transformToXml(): Cannot create XPath expression (string contains both quote and double-quotes) Previous Comments: ------------------------------------------------------------------------ [2005-11-17 06:52:59] [EMAIL PROTECTED] Can you also check the libxslt and libxml2 version? And if possible upgrade to the latest releases. ------------------------------------------------------------------------ [2005-11-16 21:08:30] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-11-16 21:06:28] junkmail at eighteyes dot com Description: ------------ This error ocurs when the value of the parameter set with setParameter contains: - an xml/html tag with an attribute - a single quote character in the tag's value The parameter value will not be set. The function doesn't return FALSE either, making you think the value was successfully set. This only happens on my Windows setup, not in Linux. If the tag doesn't contain an attribute, or the tag's value doesn't contain a single quote, the error does not occur. Reproduce code: --------------- $xml = new DOMDocument(); $xml->loadXML('<root></root>'); $xsl=new DOMDocument(); $xsl->loadXML('<?xml version="1.0" encoding="utf-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:param name="parameter">ERROR</xsl:param><xsl:template match="/"><xsl:value-of select="$parameter" /></xsl:template></xsl:stylesheet>'); $list = <<<END <p id="34">/CONCEPTS/God/Krishna's Incarnations/</p> END; $xslt = new XSLTProcessor(); $xslt->setParameter('', 'parameter', $list); $xslt->importStyleSheet($xsl); print $xslt->transformToXML($xml); Expected result: ---------------- <p id="34">parameter's value</p> Actual result: -------------- ERROR ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35247&edit=1