我正在尝试根据从托运人 API 收到的 XML 响应文件生成运输标签,但是,当我尝试通过浏览器访问 XML 时,我收到此错误加载样式表:发生未知错误 (805303f4)错误。
XML 响应文件:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<?xml-stylesheet href="http://shippers-website.com/label.xsl" type="text/xsl"?>
Run Code Online (Sandbox Code Playgroud)
XSL 文件:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
Run Code Online (Sandbox Code Playgroud)
然后我尝试在我的 PC 上本地打开这个 XML 文件,并保存了 XML 和 XSL 文件的本地副本,但是当我这样做时,我会收到这个错误加载样式表:解析 XSLT 样式表失败。错误。
然后我将 XSL 文件命名空间从http://www.w3.org/TR/WD-xsl更改为http://www.w3.org/1999/XSL/Transform,这似乎适用于我的本地 XML 副本;这是一个好兆头,但是,我需要它与 XML 文件(例如http://shippers-website.com/label.xsl)中列出的托运人网站的 URL 一起正常工作。
他们告诉我这个相同的 XML 类型响应文件适用于他们的其他客户,所以我不确定为什么它对我不起作用。
有谁知道为什么当我调用 XML 文件指向我的托运人的服务器 XSL 文件(例如http://shippers-website.com/label.xsl)时我会收到此错误的想法?
谢谢!
xmlns:xsl="http://www.w3.org/TR/WD-xsl"如果我没记错的话,命名空间标识了 Microsoft 于 1998 年在 IE4 中发布的 XSLT 1.0 早期草案的实现。它在一年内就过时了。1999 年发布的 W3C 规范与 Microsoft 实施的草案有很大不同(实际上,Microsoft 产品与早期的 W3C 草案有很大不同),Microsoft 很快意识到了他们的错误,并争先恐后地将 WD-xsl 替换为符合要求的实现。
由于 WD-xsl 语言与 XSLT 1.0 有如此多的不同,将名称空间更改为 XSLT 1.0 名称空间通常不足以实现成功的转换。曾经我相信微软有一个工具可以帮助转换,但我怀疑它在 18 年后的今天是否可以获得。
事实上,现在几乎不可能找到 WD-xsl 的文档(有趣的是,在纸质规范的时代,埋葬东西要困难得多)。我不知道当前版本的 IE 是否还能识别它,但肯定没有其他浏览器可以识别。
顺便说一句,我的 DNS 服务器找不到域名shippers-website.com。
| 归档时间: |
|
| 查看次数: |
3591 次 |
| 最近记录: |