views:

591

answers:

6

This might be a stupid or obvious question, but our whole site is rendered using XSLT to transform xml which is created on the fly from database queries and other pieces. Im starting to push a lot of ajax into the site to make it more dynamic, is there a good tutorial on xslt and ajax?

+4  A: 

Here is a link

Kb
A: 

our whole site is rendered using XSLT to transform xml

That thought makes me shudder. I've worked on two sites that have used XSLT to do heavy lifting in dynamically producing frequently accessed pages, and in both cases it required more development effort and CPU time per access than it was worth.

Irregardless, www.w3schools.com has plenty of good tutorials on many web technologies. They even have tests.

If you want to do AJAX while maintaining support for multiple web browsers I would strongly recommend that you check out: JQuery, Prototype, and Dojo

I think JQuery is the best but I will leave that determination up to you.

Bernard
All of our site is rendered via XSLT and there is no performance issue.
dacracot
With XSL you add three steps to rendering, the first is generating content in XML, then parsing that XML, and finally transforming it with XSLT. All of that adds up to CPU, RAM, and KW/hr usage. For some cases this may be an acceptable trade off. However for an entire site, I have doubts.
Bernard
+2  A: 

I would definetly agree with a previous commentor who shuddered at the thought of XSLT doing your heavy lifting. That is not going to be all that performant. Don't get me wrong, I like XSL a lot, but ...

Not as much of a tutorial, but the folks at Mulberry Tech (no idea what they do, or who they are) maintain a series of Quick Reference Guides for XSLT (and plenty others) that I find invaluable.

http://www.mulberrytech.com/quickref/

hope this helps...

Todd Friedlich
All of our site is rendered via XSLT and there is no performance issue.
dacracot
+1  A: 

Are you using XSLT on the server or in the browsers?

Modern browsers now have support for XML transformations from within the browser, one way is using AJAX to fetch the XML along with its stylesheet. You can then offload the processing of stylesheets to the clients machines. Be sure to cache the stylesheet and perhaps even send compressed XML.

The coding should be straight forward if you already know how to do AJAX. I worked on a system like this 5 years ago and the it is a viable way to go.

BeWarned
A: 

I've used this technique extensively, both on client and server side. My experience has been that it performs adequately in most scenarios (but then I'm contrasting its server-side performance with VBScript in ASP pages).

Where performance is an issue, it's very important to take XML parsing and XSLT compilation out of the operation wherever possible. If you have a client-side method that uses XSLT to dynamically render an element in the page, make sure it's not loading and compiling the XSLT every time it's called. If you're using server-side XSLT, cache the XSLT processor object in whatever collection your server environment supports.

You can get significantly better client-side performance by using Javascript and JSON instead of XML and XSLT. I haven't benchmarked it, but I'd bet that the biggest performance gain comes out of the fact that parsing JSON is much less CPU-intensive than parsing XML.

Robert Rossney
A: 

Try using tox as an example. There isn't a tutorial, but if you take a look at the example provided, it is well commented and includes AJAX.

dacracot