XSLT能否与AJAX一起使用?

时间:2008-12-31 14:26:18

标签: javascript xml ajax xslt

这可能是一个愚蠢或明显的问题,但我们的整个网站都是使用XSLT来渲染xml,它是从数据库查询和其他部分动态创建的。我开始将很多ajax推入网站以使其更具动态性,是否有关于xslt和ajax的良好教程?

6 个答案:

答案 0 :(得分:3)

您是在服务器上还是在浏览器中使用XSLT?

现代浏览器现在支持浏览器内的XML转换,一种方法是使用AJAX来获取XML及其样式表。然后,您可以将样式表的处理卸载到客户端计算机。一定要缓存样式表,甚至可能发送压缩的XML。

如果你已经知道如何做AJAX,编码应该是直截了当的。 5年前我在这样的系统上工作,这是一种可行的方式。

答案 1 :(得分:2)

我绝对会同意之前的一位评论员,他对XSLT的重担感到不寒而栗。这并不是那么高效。不要误会我的意思,我非常喜欢XSL,但是......

没有太多的教程,但是Mulberry Tech的人们(不知道他们做了什么,或者他们是谁)维护了一系列XSLT快速参考指南(以及其他很多),我觉得这些指南非常宝贵。

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

希望这会有所帮助...

答案 2 :(得分:2)

我认为大多数答案都缺少OP要求的内容。我认为OP正在询问是否有办法使用AJAX获取XSLT生成的HTML。

我在Umbraco采取这种方法。

  1. 创建生成HTML的XSLT宏

  2. 将XSLT宏放在空白页

  3. 使用AJAX调用页面

  4. 替换现有的HTML内容

答案 3 :(得分:1)

  

使用XSLT渲染整个网站来转换xml

这个想法让我不寒而栗。我曾经在两个使用XSLT的网站上工作,以便动态生成频繁访问的页面,在这两种情况下,它需要更多的开发工作量和每次访问的CPU时间而不是它的价值。

无论如何,www.w3schools.com在许多网络技术上都有很多很好的教程。他们甚至进行了测试。

如果您想在保持对多个网络浏览器的支持的同时进行AJAX,我强烈建议您查看:JQueryPrototypeDojo

我认为JQuery是最好的,但我会把这个决心留给你。

答案 4 :(得分:1)

我在客户端和服务器端广泛使用了这种技术。我的经验是它在大多数情况下都能充分发挥作用(但后来我将其服务器端性能与ASP页面中的VBScript进行对比)。

如果性能是一个问题,那么尽可能将XML解析和XSLT编译从操作中删除是非常重要的。如果您有一个使用XSLT动态呈现页面中元素的客户端方法,请确保每次调用时都不加载和编译XSLT。如果您正在使用服务器端XSLT,请将XSLT处理器对象缓存在您的服务器环境支持的任何集合中。

通过使用Javascript和JSON而不是XML和XSLT,您可以获得明显更好的客户端性能。我没有对它进行基准测试,但我敢打赌,最大的性能提升来自于解析JSON比解析XML要少得多的CPU。

答案 5 :(得分:0)

尝试使用tox作为示例。没有教程,但是如果你看一下提供的例子,它就会被很好地评论并包含AJAX。