If anyone is playing around with simplexml, dom and/or xsl, I have a patch for the interoperability between simplexml and dom. I am leary about committing it right now as it has limited testing, beta 2 is being released next week and I am leaving on tuesday for a week or two, so wont be able to fix any issues that might arise from it.
patch - http://www.ctindustries.net/patches/interop.diff.txt
example script - http://www.ctindustries.net/patches/interop.php.txt
The changes include:
simplexml
new function: simplexml_import_dom(domnode) returns an sxe object
behavior change: setting the value of an element will do just that. I removes all child nodes unlike previous version which would change the value of the first child node of the reference node (I dont believe this was the intended behavior)
the change in behavior and the integration with the functions from the libxml extension should resolve a lot of the libxml memory leaks
dom
new function: dom_import_simplexml(sxe) returns domnode
also a minor change to clonenode method of domnode
Let me know if people really want this in the beta release otherwise i am going to wait until after I get back to further test and commit this stuff.
Rob
I have no problem with you committing this. It'd be good if at least
another guy who has been working on the new XML extensions gives you thumbs up.
Andi
At 02:36 PM 10/25/2003 -0400, Robert Richards wrote:
If anyone is playing around with simplexml, dom and/or xsl, I have a patch
for the interoperability between simplexml and dom. I am leary about
committing it right now as it has limited testing, beta 2 is being
released next week and I am leaving on tuesday for a week or two, so wont
be able to fix any issues that might arise from it.patch - http://www.ctindustries.net/patches/interop.diff.txt
example script - http://www.ctindustries.net/patches/interop.php.txtThe changes include:
simplexml
new function: simplexml_import_dom(domnode) returns an sxe object
behavior change: setting the value of an element will do just
that. I removes all child nodes unlike previous version which would
change the value of the first child node of the reference node (I dont
believe this was the intended behavior)
the change in behavior and the integration with the functions
from the libxml extension should resolve a lot of the libxml memory leaksdom new function: dom_import_simplexml(sxe) returns domnode also a minor change to clonenode method of domnodeLet me know if people really want this in the beta release otherwise i am
going to wait until after I get back to further test and commit this stuff.Rob
So my only comment on this is that the import functions should do some
kind of error (domexception, or a php error) if the support for the
other is not compiled in. This would just be freindlier to the
developer to know why the call is failing (rather than just getting
function not defined).
Otherwise, I have not gotten around to testing the patch tonight, as
something else is causing crashes for me.
Shane
Robert Richards wrote:
If anyone is playing around with simplexml, dom and/or xsl, I have a patch for the interoperability between simplexml and dom. I am leary about committing it right now as it has limited testing, beta 2 is being released next week and I am leaving on tuesday for a week or two, so wont be able to fix any issues that might arise from it.
patch - http://www.ctindustries.net/patches/interop.diff.txt
example script - http://www.ctindustries.net/patches/interop.php.txtThe changes include:
simplexml
new function: simplexml_import_dom(domnode) returns an sxe object
behavior change: setting the value of an element will do just that. I removes all child nodes unlike previous version which would change the value of the first child node of the reference node (I dont believe this was the intended behavior)
the change in behavior and the integration with the functions from the libxml extension should resolve a lot of the libxml memory leaksdom new function: dom_import_simplexml(sxe) returns domnode also a minor change to clonenode method of domnodeLet me know if people really want this in the beta release otherwise i am going to wait until after I get back to further test and commit this stuff.
Rob