我使用在 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 會給出錯誤,但對于其他兩個文件應該不會有任何問題。
2 回答

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
您的 XML 和 XSLT 文件都是正確的。正如您已經注意到的,Chrome 無法運行。
對于 Firefox,此行為被注冊為錯誤,由于安全問題可能不會得到修復。
但您可以通過about:config
在 Firefox 中進行修改來規避此問題。
放
privacy.file_unique_origin?=?false
那么您至少可以在 Firefox 中將 XML 與本地 XSLT 一起使用。
免責聲明:我不了解 Edge :-(

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
<?xml-stylesheet type="text/xsl" href="contabilità.xsl"?>
將通過 HTTP(S) 運行,而不是從文件系統運行。這基本上是由于瀏覽器施加的安全限制,有些瀏覽器(如 Chrome)很久以前就施加了安全限制,而另一些(如 Mozilla)最近才修復該領域的漏洞,忽略了文件系統中 XSLT 的使用,或者在 Edge 的情況下,如果您使用基于 Chromium 的新版本Edge 作為瀏覽器引擎已經發生了變化。
- 2 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消