Ok, some background. I'm building a web-based media database as a little project, and it's coming along nicely. I use PHP as the backend, transforming SQL results into XML, masked from the client by content-negiotiation (i.e. "query.xml.php"). I then use XSLT as a client-side interface templating layer. This all works as expected and wonderfully.
I decided that I should add support for server-side transformations for browsers that do not suppport XML/XSLT, as strictly speaking they should only need to support xhtml/html (browsers like konquerer for example). I thought this would be a trival wrap of the xml file with something like "query.html.php" which just does the transformation and spits out the result.
Not so.
I have all of the files modularised and accessed via relative paths, and I discovered that all sorts of bad things happened when I tried to access them locally. I realised this was because sablotron was accessing the raw php, not the processed output XML. This can be allievated for the initial XML file by passing the generated XML content as a variable to the xslt_process(), but this simply isn't possible for XML files loaded via XSLT's document() function.
My initial solution was to try and be a smartass and change all of the relative paths into absolute HTTP paths, the logic being that when they are served they will be processed correctly.
No such luck.
Sablotron only seems to support local files, even though PHP's fopen wrappers are enabled and working.
So, any ideas for further enquiry anyone?
Oh yes, I should mention that I'm using PHP 4.3 with Apache 2 on Debian.