I looked for an XML+XSL generating framework/class for PHP but could not found one…
You are welcome to extract excerpt of this article, but do not copy it entirely on your blog/web site.
You are only allowed to use this post content in an printed article or a newsletter by clearly exposing the source URL of this article.
...So I wrote it.
It's the main reason this blog have been slow.
Well, apart family meetings, sickness, holidays, laziness and such, but you've got the idea.
For a bit more than 1 year now, I work on an Oracle DB.
I work on an school management application based on oracle which use XML with XSL style sheets to create it's interface.
I discovered this way of doing with this work, and I only have 1 thing to say about it: I love it!
No, really!
It's clean, it's concise, it's easily reusable, you transport a bit of the work on the client side (for those who uses modern browsers on computers), it's still compatible with old browsers through a server side XSL engine, I can make PDF soooo easily compared to PDFLib via a simple apache-FO install.
Brilliant, simply brilliant.
So, as I was looking for something equivalent in the PHP world, I was surprised to not found anything.
I mean, not even an abandoned project on sourceforge.net ...
So I started one myself.
Took some time to be in a usable state, and as it's the first time I put something to be available to "the community", I discover new obstacles every days. Now, I don't say it's in a any way "stable", but it does looks like and do the job I want it to easily.
I wanted some features to be implemented:
- Easy XML creation
- XSL composition with include
- Caching of the XSL with it's includes
- Auto-detection of the browser name/version and OS (to know it the browser support XML or if it must be transformed on the server)
- Possibility of declaring multiple "rendering sets", which will allow several media type rendering of the same infos.
This is partially there, as the selection is manual. But I'd still like to automate it, or at least to make it manageable via a simple descriptive file in the rendering set definition folder.
So, I don't know if it could catch the interest of many peoples, but anyway, I wanted to release this to anyone wishing to use it.
It's available on http://www.quixml.org for anyone interested. I do hope someone will find it useful, and _I'd be happy to hear from anyone interested.
Be it recommendation upon the code, the site, the manual or anything else.
And now, to Infinity, and beyond !
Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically each day to your feed reader.
Trackbacks & Pingbacks
Comments
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Very nice! I do a lot of this type of stuff in C# and SQL Server, and you’re right about the flexibility. There’s a bit of a learning curve at first, but it becomes second nature pretty quickly.
I don’t do much PHP work, though, so I can’t offer any substantial comments…
It’s ok Forrest, thanks for stoping by anyway.
I’m currently learning .Net with C#, and decided that porting this would be a good experiment.
It’s a bit slow those days, due to personal events, but I will complete it.
Thierry.