让我立刻说我对这个基于网络的编程很新。有了这个,这是我的情况:
我有一个应用程序,我需要从一个硬件生成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做错了什么?该类型应该是别的吗?
对不起,我确信这将是一个基本问题,但我正在抓我已经无毛的头。
答案 0 :(得分:1)
它应该是type="text/xsl"
并且href属性应该是URL,而不是Windows文件路径,因此请尝试href="file:///C:/6850XML/XSL6850.xslt"
。但是,由于安全限制,从Web上的资源链接到本地文件系统上的样式表可能不会在当今的浏览器中起作用。
答案 1 :(得分:1)
网络在* nix / BSD上运行,因此正斜杠始终按顺序排列。修复你的'text / xsl'。
答案 2 :(得分:1)
问题是浏览器没有到达样式表。这可能是因为您的错误type="text\xsl"
伪属性和URI协议(不受浏览器处理,安全限制)。
解决方案:使用相对URI,如
<?xml-stylesheet type="text/xsl" href="XSL6850.xslt"?>
每次都在我的桌面上测试