[xsl] Where is XSLT 2.0 support in PHP?

Subject: [xsl] Where is XSLT 2.0 support in PHP?
From: Jonathan Rosen <rosenjon2@xxxxxxxxx>
Date: Mon, 27 Jul 2009 18:15:46 -0700
I have been building a project in PHP with XSLT, and am pretty
disappointed with the lack of a workable XSLT 2.0 solution.

The only workable solution I have found so far is this php extension:
http://sourceforge.net/docman/display_doc.php?docid=57770&group_id=197900
along with the AltovaXML COM interface on Windows. It is relatively
easy to install and works seamlessly. The problem is, it is a Windows
only solution. Altova does not appear to make an xml parser for use on
Linux.

The alternatives to this solution on Linux involve using a
PHP/Javabridge to Saxon. I have been working on installing said
PHP/Javabridge using Tomcat on a VPS. I can tell you it has been a
nightmare, especially because of the memory overhead of running a Java
Virtual Machine in parallel with requests from PHP. It is not a
workable production solution, and is a massive time sink to install as
well.

I know this question has probably been asked before. However, now that
there are stable and functional XSLT processors on the market, when
are we going to get one that can be loaded directly into php, a la
lib-xslt for xslt 1.0? The person who coded the solution I linked to
above was in high school when he wrote the code. There must be the
talent out there somewhere to make this happen? Why has none of it
been directed at supporting this standard?

Anyway, I look forward to hearing thoughts on why this standard has
not been embraced in PHP, and how it can be remedied. Having used XSLT
2.0 with the Altova solution, I can say from experience that XSLT 2.0
is a much cleaner and easier to implement language. The Meunchian
Grouping Solution in XSLT 1.0 that made up for the lack of a for-each
function looks pretty absurd compared to the ease of use of the 2.0
for-each-group function. It is also much better form a performance
perspective.

I look forward to your thoughts, and hopefully some actionable steps
on how we can put together the resources to make this happen in PHP. I
myself do not have the programming expertise to make this happen
myself, but would be happy to spearhead an effort to put together the
talent and resources to make it happen.

-Jon

Current Thread