2016-09-20 129 views
1

我试图从我从托运人的API收到的XML响应文件生成运输标签,但是,当我尝试通过我的浏览器访问XML时,我得到这个加载样式表时出错:出现未知错误(805303f4 )错误。加载样式表时出错:发生了未知错误(805303f4)?

XML响应文件:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> 
<?xml-stylesheet href="http://shippers-website.com/label.xsl" type="text/xsl"?> 

XSL文件:

<?xml version='1.0'?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"> 

然后我试图在本地打开我的电脑,这个XML文件,我保存了XML的本地副本和XSL文件,但是当我这样做时,我会得到这个加载样式表时出错:解析XSLT样式表失败。错误。

我再变XSL文件命名空间从http://www.w3.org/TR/WD-xslhttp://www.w3.org/1999/XSL/Transform而且似乎对我的本地XML拷贝工作;这是一个好兆头,但是,我需要这样才能正确处理XML文件中列出的托运人网站的URL(例如http://shippers-website.com/label.xsl)。

他们告诉我,这个XML类型的响应文件适用于他们的其他客户,所以我不知道为什么它不适合我。

有没有人有当我打电话XML文件时,它的指向我的托运人的服务器XSL文件(例如http://shippers-website.com/label.xsl)为什么我得到这个错误的想法?

谢谢!

+1

'xmlns:xsl =“http://www.w3.org/TR/WD-xsl”'识别的语言可能适用于IE 5或6之类的旧IE版本,但肯定不适用于任何其他浏览器,如Firefox ,Chrome,Opera,因为它们只实现了1999年由名称空间“http:// www.w3.org/1999/XSL/Transform”标识的W3C XSLT 1.0标准。 –

回答

2

命名空间xmlns:xsl="http://www.w3.org/TR/WD-xsl"标识了Microsoft在1998年在IE4中发布的早期版本的XSLT 1.0的实现,如果我没记错的话。它在一年内已​​经过时。 1999年发布的W3C规范与微软实施的草案大不相同(事实上,微软的产品与早期的W3C草案有很大不同),而且微软很快意识到了他们的错误,并争先恐后地将WD-xsl替换为符合标准的实现。

由于WD-xsl语言与XSLT 1.0有很多不同,因此将名称空间更改为XSLT 1.0命名空间通常不足以实现成功的转换。我曾经有一段时间认为微软有一个工具来协助转换,但我怀疑它在18年后才能获得。实际上,WD-xsl的文档现在几乎是不可能找到的(有趣的是,在纸质规格的日子里,埋葬东西要困难得多)。我不知道当前版本的IE仍然可以识别它,但是肯定没有其他浏览器可以。

顺便说一下,我的DNS服务器找不到域名shippers-website.com。

相关问题