xml中的xsl定义

xml中的xsl定义,xml,xslt,namespaces,xsd,Xml,Xslt,Namespaces,Xsd,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" x

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文件中删除模式文件链接,并将标记仅保留为
,则正确的样式表将显示为输出,否则浏览器中不会显示任何内容,控制台中会显示错误为:

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


看起来有点名称空间错误。有人能确切指出是什么吗?

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

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