0

我在 movies.xml 中的前几行如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="movies_style.xsl"?>
<movies 
    xmlns="http://www.w3schools.com" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.w3schools.com file:///B:/USC/Academic/DBMS/HWS/no3/movie_sch.xsd">

movies_style.xsl 中的前几行如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:fo="http://www.w3.org/1999/XSL/Format">

问题是如果从movies.xml文件中删除模式文件链接并仅保留标记,<movies>则正确样式的表显示为输出,否则浏览器中不显示任何内容,并且控制台中显示错误为:

“从带有 URL 文件:///B:/USC/Academic/DBMS/HWS/no3/movies 的框架中加载 URL 文件:///B:/USC/Academic/DBMS/HWS/no3/movies_style.xsl 的不安全尝试.xml。域、协议和端口必须匹配。”

看起来像一些命名空间错误。谁能指出到底是什么?

4

2 回答 2

0

已将 targetnamespace 指定为 w3schools.org。那不应该在那里。这就是问题所在。

于 2012-11-17T00:04:08.363 回答
0

问题似乎是架构文件不可通过网络访问。它位于使用文件访问的 B: 驱动器上:但 XML 和 XSL 可能使用 http: 访问,并且浏览器(假设您正在使用浏览器查看)不会使用文件加载:由于安全问题。尝试重新定位架构文件,以便可以使用 HTTP 加载它。

于 2012-11-16T22:58:07.260 回答