【发布时间】:2010-08-12 12:04:57
【问题描述】:
我刚刚学习了使用 XML 数据文件和 XSLT 创建网页(从 XML 转换为 HTML 或 XHTML)的方法。但我从未见过有 XML 源代码和 XSLT 文件链接的网页。这不是一个好的解决方案吗?
【问题讨论】:
我刚刚学习了使用 XML 数据文件和 XSLT 创建网页(从 XML 转换为 HTML 或 XHTML)的方法。但我从未见过有 XML 源代码和 XSLT 文件链接的网页。这不是一个好的解决方案吗?
【问题讨论】:
如果您已经拥有 XML 格式的数据(或者很容易将其转换为 XML),那么我会说这是一个很好的解决方案。您可能希望确保您的 Web 服务器配置正确,以确保 XSLT 被缓存在客户端,这样它就不必每次都执行请求。
如果数据尚未采用 XML 格式,则有更好的模板解决方案(PHP、JSP、ASP 等)更适合您所处的任何环境。
【讨论】:
我认为这对于面向公众的网站来说不是一个好的架构:
如果您的数据本身是 XML,那么在服务器端通过 XSL 转换它可能是有意义的(我已经编写了这样做的系统),但这是我在构建 Web 时使用 XSL 的唯一情况和架构地点。
【讨论】:
当然有些页面是使用 XSL+XML 生成的,但我敢打赌,它们中的大多数都是在服务器端解析的,而不是在客户端解析的。然后,如果您打开一个 aspx 或 php 页面,您将无法真正判断它是否是从 XML 和 XSL 文件中解析出来的。
这也是一个相当不错的模板机制。我们将它用于我们公司的网页,以及电子邮件和其他一些媒体。这就是 XML 在这方面的优势;它不支持媒体,您可以将源 xml 转换为多种格式(其中大部分将基于 xml)。
【讨论】:
您必须在服务器上进行转换,因为并非所有浏览器都支持 XSLT。
【讨论】:
暴雪的world of warcraft 网站和他们的armory 网站是我见过的唯一一个发送xml 并使用客户端xslt 显示它的网站。它似乎工作得很好,而且它们是相当大容量的网站。 (请注意,它查看用户代理并为某些浏览器执行转换服务器端,我知道它为 IE 执行客户端)
【讨论】:
有一个使用 XML/XSLT 生成 HTML 的示例 PHP 应用程序,在 Tony Marston 的A Sample PHP Application 有服务器和客户端演示,有大量的推理、howtos 等。
【讨论】:
正如这里已经说过的,当您已经拥有 XML 格式的数据或者如果您需要将其作为 XML 发布到其他地方(因此无论如何都需要生成 XML - 这是我们的项目之一)。在这种情况下,将转换转移到客户端是一个不错的选择,可以从您的服务器中分担一些负载。
有些浏览器在客户端不支持 XSLT,但大多数使用的浏览器(IE、FF、Chrome)都可以正常工作。挑战在于移动设备的浏览器。例如。尚不支持 Android XSLT。我们已经通过在服务器端进行设备检测来处理这个问题(使用 WURLF - 不幸的是它没有支持 XSL 的功能标志,因此我们必须根据设备类型来决定)并仅在服务器端对那些设备进行转换无法在客户端处理它。因此,我们尽可能多地保留客户端的处理,这有助于我们更轻松地扩展而不需要硬件升级(到目前为止:))。
使用 XML 的另一个优点是您可以导出纯数据,这些数据很容易使用,但有一些其他工具可以进行不同的处理。这几乎就像您正在提供 Web 服务来获取您的数据一样。对于未来不可预见的数据使用非常方便。
安全性:如果您在客户端使用 XSLT,则需要考虑的一个重要方面是确保您发送给客户端的 XML 数据不是机密/私有的(不包含任何敏感信息您可能不希望某些用户看到)。例如。如果您的 XSLT 只为某些用户显示某些数据,并且如果其他人会看到隐藏的数据将成为安全桥梁,那么您最好在转换服务器端进行。
希望对你有帮助。
干杯,史蒂夫。
【讨论】:
如果它符合您的需求,这是一个很好的解决方案。客户端 XSLT 转换是 ...
...很好,因为:
- 您可以在廉价的网络空间上使用模板,而无需任何服务器支持
- 非常适合繁忙的交通
- 该网站甚至可以在 CD/DVD/USB-Stick 上离线运行
- 页眉、页脚、导航等都在 XSLT 脚本中并且只加载一次,对于许多类似页面的速度很有好处。
...不好,因为:
- 一些小众浏览器可能不支持 XSLT
- 你不会出现在谷歌,XML 文件不适合搜索引擎蜘蛛
【讨论】: