Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XML和XSLT是制作网页的好方法吗?_Xml_Xslt - Fatal编程技术网

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

使用XML和XSLT是制作网页的好方法吗?,xml,xslt,Xml,Xslt,我刚刚学习了使用XML数据文件和XSLT创建网页的方法(从XML转换为HTML或XHTML)。但我从未见过一个网页包含XML源代码和XSLT文件链接。这不是一个好的解决方案吗?您必须在服务器上进行转换,因为并不是每个浏览器都支持XSLT。当然有使用XSL+XML生成的页面,但我敢打赌它们中的大多数都是服务器端解析的,而不是客户端解析的。然后,如果您打开一个aspx或php页面,您就无法真正判断它是否是从XML和XSL文件中解析出来的 这也是一个相当不错的模板机制。我们将其用于我们公司的网页、电子

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

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

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


这也是一个相当不错的模板机制。我们将其用于我们公司的网页、电子邮件和其他媒体。这就是XML在这方面的优势;它不支持媒体,您可以将源xml转换为多种格式(大多数格式都是基于xml的)。

有一个示例PHP应用程序,使用xml/XSLT生成HTML,Tony Marston的服务器端和客户端演示进行了充分的推理,如何等等。

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

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


如果数据不是XML格式的,那么有更好的模板解决方案(PHP、JSP、ASP等)更适合您所处的任何环境。

如果它适合您的需要,这是一个很好的解决方案。客户端XSLT转换是…
... 因为:
-您可以在廉价的netspace上使用模板,而无需任何服务器支持
-非常适合繁忙的交通
-该网站甚至可以脱机使用CD/DVD/U盘
-页眉、页脚、导航等在XSLT脚本中,只加载了一次,这有助于提高许多类似页面的速度。
... 坏因为:
-某些小型浏览器可能不支持XSLT

-您将不会出现在google,XML文件不适合serch engine spider

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

  • 尽管大多数浏览器支持客户端XSLT,但并非所有浏览器都支持
  • 即使他们这样做了,也可能会像javascript一样存在个别浏览器兼容性问题
  • 能够“查看源代码”是一个非常有用的调试工具。使用XSL无法做到这一点
  • 据推测,谷歌将标记良好的HTML排名高于XML文档
  • XSL是一种可怕的语言
  • 您仍然需要呈现为XML(除非您的数据本机是XML),那么为什么不直接呈现为(X)HTML呢

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

正如一些人在这里已经说过的,如果您已经拥有XML格式的数据,或者需要将其作为XML发布到其他地方(因此无论如何都需要生成XML—这是我们的一个项目的情况),那么这是一个很好的选择。在这种情况下,将转换移动到客户机是从服务器承担一些负载的好选择

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

使用XML的另一个优点是,您可以导出简单的数据,这很容易使用,但也可以使用其他一些工具来执行不同的处理。这几乎就像您正在提供一个web服务来获取您的数据。对于您的数据的不可预见的未来使用,这是非常方便的

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

希望能有帮助


干杯,斯蒂夫。

哦。。。“大多数浏览器”都不能解决这个问题,嗯。。。因为如果它是像Lynx或移动浏览器这样的简单浏览器,那可能就是原因。公司希望向任何能够简单处理HTML的简单浏览器显示内容。所有主要浏览器都支持XSLT,包括移动浏览器。问题总是IE,因为它不能处理XHTML。IE在这里一次也不是问题——它的XSLT支持,即使在IE6中,我发现它总是可以接受的,或者至少是可行的。XHTML没有加入其中:XSLT(1.0)本身也不支持XHTML,因为它早于XHTML。我希望我能显示一个指向我正在开发的餐厅电子商务网站的链接,该网站也支持XHTML。当然,除了IE之外,它在任何地方都能很好地工作。为此,我们必须添加一些javascript。你能解释一下“该网站如何在CD/DVD/U盘上离线工作”或者“你可以在廉价的netspace上使用模板,而不需要任何服务器支持”吗