代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

使用XML和XSLT是制作网页的好方法吗?

  •  3
  • nonopolarity  · 技术社区  · 14 年前

    我刚刚学习了使用XML数据文件和XSLT创建网页(从XML转换为HTML或XHTML)的方法。但是我从来没有见过一个网页有一个链接到XSLT文件的XML源代码。这不是个好办法吗?

    8 回复  |  直到 14 年前
        1
  •  2
  •   DanSingerman    14 年前

    我不认为它是面向公众的网站的良好架构:

    • 尽管大多数浏览器都支持客户端XSLT,但并非所有浏览器都支持
    • 即使是这样,也可能存在个别浏览器兼容性问题,比如javascript
    • 能够“查看源代码”是一个非常有用的调试工具。XSL不能这样做
    • 据推测,Google会将标记良好的HTML排在比XML文档更高的位置
    • XSL是一种可怕的语言

    如果您的数据本机是XML,那么在服务器端通过XSL转换它可能是有意义的(我已经编写了这样做的系统),但这是我在构建网站时使用XSL的唯一情况和体系结构。

        2
  •  5
  •   jmo    14 年前

    如果您已经将数据转换为XML(或者很容易将其转换为XML),那么我认为这是一个很好的解决方案。您可能希望确保您的web服务器配置正确,以确保XSLT在客户端得到缓存,这样就不必每次都执行请求。

        3
  •  2
  •   Rob    14 年前

    当然,有些页面是使用XSL+XML生成的,但我敢打赌大多数页面都是在服务器端解析的,而不是客户端。然后,如果您打开一个aspx或php页面,就无法真正判断它是否是从XML和XSL文件中解析出来的。

        4
  •  1
  •   scy    14 年前

    您必须在服务器上进行转换,因为不是每个浏览器都支持XSLT。

        5
  •  1
  •   jcoder    14 年前

    暴雪的 world of warcraft armory 该网站是我见过的唯一一个发送xml并使用客户端xslt显示xml的网站。它似乎工作得很好,他们是相当高的网站(请注意,它查看用户代理,并对某些浏览器执行转换服务器端,我知道它对IE执行客户端)

        6
  •  0
  •   Community Ian Goodfellow    4 年前

    有一个示例PHP应用程序使用XML/XSLT生成HTML,在tonymarston的网站上有服务器端和客户端的演示 A Sample PHP Application 有大量的推理,如何等等。

        7
  •  0
  •   Stef    13 年前

    有些浏览器在客户端不支持XSLT,但大多数使用的浏览器(如FF、Chrome)工作正常。挑战在于针对移动设备的浏览器。例如,Android还不支持XSLT。我们通过在服务器端进行设备检测(使用WURLF——不幸的是,WURLF没有XSL支持的功能标志,所以我们必须根据设备类型来决定)来处理这个问题,并且只在服务器端对那些无法在客户端处理它的设备进行转换。因此,我们尽可能多地保留客户端的处理能力,这有助于我们在不需要硬件升级的情况下更容易扩展(到目前为止:)。

    安全性:如果在客户端使用XSLT,需要考虑的一个重要方面是确保发送给客户端的XML数据不是机密/私有的(不包含任何您可能不希望某些用户看到的敏感信息)。例如,如果您的XSLT只为某些用户显示某些数据,并且如果其他用户看到隐藏的数据,它将成为一个安全桥梁,那么您最好在transformation服务器端进行。

    希望有帮助。

    干杯,斯特夫。

        8
  •  -1
  •   Andreas    14 年前



    -您可以在廉价的netspace上使用模板,而不需要任何服务器支持
    -非常适合繁忙的交通
    -该网站甚至可以脱机使用CD/DVD/U盘
    -页眉、页脚、导航等在XSLT脚本中,只加载一次,对于许多类似的页面来说,这有利于提高速度。
    ... 不好,因为:
    -一些小众浏览器可能不支持XSLT
    -您将不会出现在google,XML文件不适合serch引擎spider