我在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文件加载URL文件:/// B:/USC/Academic/DBMS/HWS/no3/movies_style.xsl:/// B:/ USC / Academic / DBMS / HWS / no3 / movies.xml。域,协议和端口必须匹配。“
看起来有些命名空间错误。谁能指出究竟是什么?
答案 0 :(得分:0)
问题似乎是架构文件无法通过Web访问。它位于使用该文件访问的B:驱动器上:但XML和XSL可能使用http访问:并且浏览器(假设您正在使用浏览器查看)将无法使用文件加载:由于安全问题。尝试重新定位模式文件,以便可以使用HTTP加载。
答案 1 :(得分:0)
已将targetnamespace指定为w3schools.org。不应该在那里。这就是问题所在。