XSLT浏览器转换;我错过了什么?

XSLT浏览器转换;我错过了什么?,xslt,Xslt,让我马上说,我对这种基于网络的编程非常陌生。有了这些,我的情况如下: 我有一个应用程序,我需要从一个硬件上生成XML文件,其中只有最基本的web服务器应用程序在其上运行。硬件中没有太多的“不动产”或额外的马力,因此我希望生成一个包含命令、参数和其他与硬件配置相关的信息的XML文件,然后将其发送到连接到web服务器的web浏览器。我希望能够将XML文档链接到硬件上承载的转换。我相信这可以通过样式表href完成 在XML文件顶部使用以下行时出现问题: <?xml-stylesheet type

让我马上说,我对这种基于网络的编程非常陌生。有了这些,我的情况如下:

我有一个应用程序,我需要从一个硬件上生成XML文件,其中只有最基本的web服务器应用程序在其上运行。硬件中没有太多的“不动产”或额外的马力,因此我希望生成一个包含命令、参数和其他与硬件配置相关的信息的XML文件,然后将其发送到连接到web服务器的web浏览器。我希望能够将XML文档链接到硬件上承载的转换。我相信这可以通过样式表href完成

在XML文件顶部使用以下行时出现问题:

<?xml-stylesheet type="text\xsl" href="C:\6850XML\XSL6850.xslt"?>

显然,这是为了在部署到硬件之前在工作站上进行调试。当我在IE中打开XML文件时,我从字面上得到了XML文件。在Firefox中,我得到了XML的解析版本。当我从VS2K10中运行XSLT调试器时,我得到了我想要的网页。这可能是因为您手动指定了要在开发环境中用于转换的XML文件。样式表href有什么问题?应该是其他类型的吗


抱歉,我肯定这是一个基本问题,但我在这里搔了搔头。

应该是
type=“text/xsl”
,href属性应该是URL,而不是Windows文件路径,所以请尝试
href=”file:///C:/6850XML/XSL6850.xslt“
。但是,由于安全限制,从web上的资源链接到本地文件系统上的样式表在当今的浏览器中可能不起作用。

网络在*nix/BSD上运行,因此前斜杠总是有序的。修复您的“text/xsl”。

问题是浏览器没有到达样式表。这可能是因为错误的
type=“text\xsl”
伪属性和URI协议(不由浏览器处理,安全限制)

解决方案:使用相对URI,如

<?xml-stylesheet type="text/xsl" href="XSL6850.xslt"?>


每次在我的桌面上测试

查看帧的源代码。这是一个基于XML/XSL的网页,使用浏览器的XSLT引擎呈现HTML。最终的计划是建立与网络中运行在一个硬件中的Web服务器的连接(通常来自用户的实验室),然后从同一个硬件中获取样式表。Rich,如果您从同一来源加载XML和样式表,那么浏览器应该应用样式表(一旦您进行了建议的更正(即使用
text/xsl
而不是
text\xsl
并使用正确的URL语法))。否则,请检查浏览器的错误控制台,Mozilla/Firefox至少会在那里记录任何与安全相关的问题。相对路径可能是最佳方案:既可以在本地工作,也可以在您可能使用的任何服务器上工作。