gpt4 book ai didi

html - 你能完全用 XML 和 XSLT 建立一个网站吗?

转载 作者:行者123 更新时间:2023-12-03 23:45:16 25 4
gpt4 key购买 nike

我一直在想,因为每当我查看网页的源代码时,它主要是 HTML。那么,我可以完全使用 XML 和 XSLT 作为前端构建一个网站吗?是否有任何流行的站点使用 XML 和 XSLT 作为前端,因为我没有看到任何可能的东西。我很好奇,因为我喜欢 XML 而不是 HTML!

最佳答案

是的。但这是一个悲伤的故事。
您可以将 XML 文件与 XSLT-1.0 文件相关联,以使用以下说明创建所需的输出浏览器端:

<?xml-stylesheet type="text/xsl" href="transform.xslt"?>
这会将编译 HTML 的负担转移到客户端,而客户端必须自己在客户端组装 HTML。今天,这仍然在浏览器中工作。
这种方法的优点是您可以更改数据(XML 文件)而无需更改其表示算法(由 XSLT 生成的 HTML,由 CSS 设置样式)。非常高效且高度可定制,因为 XSLT 可以定义不同的转换规则(模板)来处理不同的值或数据集,而无需重新加载 XSLT。
理论上,可以通过 AJAX/JavaScript 动态更新 XML 以更改 HTML。这是可能的,但不是最好的方式,因为您必须手动调用浏览器的 XSLT 处理器以使用 JavaScript 更新网站。如果不使用 JS,没有本地方法可以做到这一点。
这种方法的另一个“问题”是创建 HTML5 <!DOCTYPE html>在 HTML5 文件的开头。使用当前的浏览器,这需要黑客才能使其工作。你必须(ab)使用 xsl:output以非常具体的方式实现功能:
<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" doctype-system="" doctype-public="" media-type="text/html"/>
只有这样,XML+XSLT 转换的输出才会被识别为 HTML5 标记。
我将这篇文章作为悲伤的消息来介绍的原因是,如果整个场景本可以更好地解决
  • 浏览器中将有 XSLT-3.0 支持,而不仅仅是旧版 XSLT-1.0 支持
  • 会有一种方法可以更好地处理 HTML5 DOCTYPE
  • HTML5 将改为 XHTML5
  • URL 将作为参数传递给 XSLT。充其量,所有 &分隔参数分隔

  • 没有让开发人员更容易使用这种方法,相反的情况发生了,并且 XML+XSLT 的组合在主要浏览器中出于“安全原因”进一步受到限制——这导致了很多人的问题。

    关于html - 你能完全用 XML 和 XSLT 建立一个网站吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63209225/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com