Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
Html 你能完全用XML和XSLT建立一个网站吗?_Html_Xml_Xslt_Frontend - Fatal编程技术网

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

Html 你能完全用XML和XSLT建立一个网站吗?,html,xml,xslt,frontend,Html,Xml,Xslt,Frontend,我一直在想,因为每当我看到一个网页的源代码,它大多是HTML。那么,我可以完全用XML和XSLT作为前端构建一个网站吗?还有一些流行的网站使用XML和XSLT作为前端,因为我没有看到任何可能的结果。我很好奇,因为我喜欢XML而不是HTML 是的,XSLT可以(并且已经)在服务器和浏览器上用于将XML转换为HTML 赞成的意见 XML到(X)HTML的转换是自然而优雅的 欺骗 很少有开发人员精通XSLT,能够欣赏或精通这种方法 浏览器支持已经减弱,从未超越XSLT1.0 框架和库已经出现,可

我一直在想,因为每当我看到一个网页的源代码,它大多是HTML。那么,我可以完全用XML和XSLT作为前端构建一个网站吗?还有一些流行的网站使用XML和XSLT作为前端,因为我没有看到任何可能的结果。我很好奇,因为我喜欢XML而不是HTML

是的,XSLT可以(并且已经)在服务器和浏览器上用于将XML转换为HTML

赞成的意见
  • XML到(X)HTML的转换是自然而优雅的
欺骗
  • 很少有开发人员精通XSLT,能够欣赏或精通这种方法
  • 浏览器支持已经减弱,从未超越XSLT1.0
  • 框架和库已经出现,可以更传统地使用更熟悉的过程和函数语言技术创建HTML
另见
  • 是的。但这是一个悲伤的故事

    您可以将XML文件与XSLT-1.0文件关联,以使用以下指令创建所需的输出浏览器端:

    <?xml-stylesheet type="text/xsl" href="transform.xslt"?>
    
    只有这样,XML+XSLT转换的输出才会被识别为HTML5标记

    我之所以把这篇帖子作为一个不幸的消息来介绍,是因为如果

    • 浏览器中将支持XSLT-3.0,而不仅仅是传统的XSLT-1.0支持
    • 有一种方法可以更好地处理HTML5 DOCTYPE
    • HTML5将改为XHTML5
    • URL将作为参数本地传递给XSLT。充其量,所有的
      &
      分隔参数是分开的

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

    您如何知道您正在查看源代码?现在HTML不太可能是手工编写的;它几乎肯定是由其他东西生成的,没有内部知识,就无法知道它是如何生成的,也无法知道原始源是如何维护的。话虽如此,确实只有少数站点使用XSLT客户端。这有很多原因,其中一个原因是浏览器供应商对XML或XSLT没有什么热情——他们仍然只提供XSLT1.0,这已经有20多年的历史了。为什么不看看SaxonJS:?很好的答案,+1来自我这边!我不同意这种方法的另一个“问题”是在HTML5文件的开头创建HTML5
    。在当前的浏览器中,这需要一个黑客来让它工作”,这只是一个XSLT1早于HTML5的问题,HTML5放弃了基于SGML的对HTML4中使用的带有公共id和/或系统id的doctype的使用。无论是在浏览器内部还是外部,XSLT 1.0的
    xsl:output
    都不是为了创建一个没有公共和/或系统标识符的简单
    而设计的。HTML5()中推荐的黑客是
    。我可能不得不道歉:我用这种方式创建的网站已经有10多年的历史了,但您引用的规范似乎来自2014年。然而,改进堆栈的宝贵选项已经过去,现在开发堆栈完全不同了。因此,讨论细节是毫无用处的。
    <xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" doctype-system="" doctype-public="" media-type="text/html"/>