为什么更改XML文件的文件扩展名会破坏其XSL转换?

时间:2011-01-27 16:55:30

标签: xml stylesheet content-type xslt

我使用XSLT创建了一个XML到HTML的解决方案,但是我存储文件的服务器将内容配置设置为XML文件的HTTP响应头中的“attachment”。因此,浏览器尝试将XML文件作为附件下载,而不是运行XSL转换并在浏览器中显示HTML结果。不幸的是,将内容处理更改为“内联”对我来说不是一种选择。

将XML文件扩展名更改为HTML是我考虑的第一个解决方法,但它似乎只能在IE中正常工作,并且只能在线(不是脱机)。我不明白这一点。

任何人都可以告诉我为什么重命名文件扩展名会破坏XSL转换,我可以对XML或XSL内容做些什么来允许我使用这种解决方法吗?谢谢。

我的XML文件的前几行:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="includes/portal.xsl"?>

我的XSL文件的前几行:

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

1 个答案:

答案 0 :(得分:0)

肯定是由于服务器根据文件扩展名返回的返回内容类型。你用的是什么服务器?通常,有一种方法可以通过其他方式为特定文件,目录或扩展配置内容类型。 作为一个快速简单的检查,请尝试使用关于使用.XHTML扩展名而不是.HTML或.XML。