ID: 47206
Updated by: johannes@php.net
Reported By: nforbes@php.net
-Status: Bogus
+Status: Open
-Bug Type: XSLT related
+Bug Type: Documentation problem
Operating System: Linux
PHP Version: 5.3CVS-2009-01-24 (snap)
Assigned To: rrichards
New Comment:
According to the discussion on internals (Thread "towards the next 5.3
release", http://article.gmane.org/gmane.comp.php.devel/55896),
it
should be documented that
- importStylesheet might take DOMDocument or SimpleXMLElement as
parameter
- this was broken in 5.2.6 - 5.2.8 (inclusive) where importStylesheets
only accepted DOMDocument
- when users extend XSLTProcessor they shouldn't set a typehint.
Previous Comments:
------------------------------------------------------------------------
[2009-02-03 14:53:50] rrichards@php.net
The type hint added in 5.2.6 broke BC and wasn't detected until post
5.2.8 where it was fixed. It shouldn't have been added in the first
place
------------------------------------------------------------------------
[2009-02-03 12:06:18] chregu@php.net
dmitry changed that 8 weeks ago with the message:
***
MFH: fix arginfo - these also accept SimpleXMLElement
***
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?
r1=1.39.2.2.2.9.2.13&r2=1.39.2.2.2.9.2.14
So, the removing of the typehint has a reason and I don't see a way to
make it BC *and* accept SimpleXMLElement
------------------------------------------------------------------------
[2009-01-30 17:04:17] david dot zuelke at bitextender dot com
(mind you, Rob, that this applies to transformToDoc(), too)
------------------------------------------------------------------------
[2009-01-30 17:01:14] johannes@php.net
Rob,
any problem with a atch like
------------------------
Index: ext/xsl/xsltprocessor.c
===================================================================
RCS file: /repository/php-src/ext/xsl/xsltprocessor.c,v
retrieving revision 1.39.2.2.2.9.2.15
diff -u -p -r1.39.2.2.2.9.2.15 xsltprocessor.c
--- ext/xsl/xsltprocessor.c 31 Dec 2008 11:15:47
-0000 1.39.2.2.2.9.2.15
+++ ext/xsl/xsltprocessor.c 30 Jan 2009 16:59:15 -0000
@@ -29,7 +29,7 @@
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0,
0, 1)
- ZEND_ARG_INFO(0, doc)
+ ZEND_ARG_OBJ_INFO(0, doc, "DOMDocument", 0)
ZEND_END_ARG_INFO();
ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_doc, 0,
0, 1)
------------------------
I didn't properly test it but it should work ...
------------------------------------------------------------------------
[2009-01-30 15:01:22] david dot zuelke at bitextender dot com
Same problem here. Subclasses of XSLTProcessor can work without
E_STRICT
warning either in 5.2 or in 5.3, but not in both :(
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/47206--
Edit this bug report at http://bugs.php.net/?id=47206&edit=1