浏览器上的 XSLT 处理器不执行转换

我使用在 Internet 上找到的 XSLT 处理器将 XML 文件转换为 HTML 文件。它有效,但是当我尝试在浏览器上执行相同的操作,将引用添加到 XML 文件时<?xml-stylesheet type="text/xsl" href="contabilità.xsl"?>,它不起作用。我尝试了 Firefox、Chrome 和 Edge,结果是一样的。这是 XML 文件:

这是 XSL 文件:


<?xml version="1.0"?>


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:strip-space elements="yes"/>

    <xsl:key name="tableByDataScontrino" match="scontrino" use="data" />


    <xsl:template match="/">

        <html>

            <head>

                <title>HTML Document</title>


            </head>


            <style>

                table {

                font-family: arial, sans-serif;

                border-collapse: collapse;

                width: 100%;

                }


                td, th {

                border: 1px solid #dddddd;

                text-align: left;

                padding: 8px;

                }


                tr:nth-child(even) {

                background-color: #dddddd;

                }   


                caption {

                display: table-caption;

                text-align: center;

                }


            </style>


            <body  onload="getCurrentData(); getProductPrize()">


                <h2 align="center">Benvenuto <xsl:value-of select="gruppo/studente[nome='sergio']/nome"/></h2>

                <h2 align="center">Gruppo: <xsl:value-of select="gruppo/nome"/> </h2>

                <h2 align="center">Scontrini</h2>

这些文件位于同一目录中。我知道如果文件位于本地,Chrome 会给出错误,但对于其他两个文件应该不会有任何问题。


绝地无双
浏览 88回答 2
2回答

人到中年有点甜

您的 XML 和 XSLT 文件都是正确的。正如您已经注意到的,Chrome 无法运行。对于 Firefox,此行为被注册为错误,由于安全问题可能不会得到修复。但您可以通过about:config在 Firefox 中进行修改来规避此问题。放privacy.file_unique_origin = false那么您至少可以在 Firefox 中将 XML 与本地 XSLT 一起使用。免责声明:我不了解 Edge :-(

哆啦的时光机

<?xml-stylesheet type="text/xsl" href="contabilità.xsl"?>将通过 HTTP(S) 运行,而不是从文件系统运行。这基本上是由于浏览器施加的安全限制,有些浏览器(如 Chrome)很久以前就施加了安全限制,而另一些(如 Mozilla)最近才修复该领域的漏洞,忽略了文件系统中 XSLT 的使用,或者在 Edge 的情况下,如果您使用基于 Chromium 的新版本Edge 作为浏览器引擎已经发生了变化。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5