【问题标题】:Error loading stylesheet: An unknown error has occurred (805303f4)?加载样式表时出错:发生未知错误 (805303f4)?
【发布时间】:2017-01-28 18:15:20
【问题描述】:

我正在尝试从发货人 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"?>

XSL 文件:

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

然后我尝试在我的 PC 上本地打开此 XML 文件,并保存了 XML 和 XSL 文件的本地副本,但是当我这样做时,我会收到 错误加载样式表:解析 XSLT 样式表失败。 错误。

然后我将 XSL 文件命名空间从 http://www.w3.org/TR/WD-xsl 更改为 http://www.w3.org/1999/XSL/Transform,这似乎适用于我的本地 XML 副本;这是一个好兆头,但是,我需要它与 XML 文件中列出的托运人网站中的 URL 正常工作(例如 http://shippers-website.com/label.xsl)。

他们告诉我,同样的 XML 类型响应文件适用于他们的其他客户,所以我不确定为什么它不适用于我。

有没有人知道为什么当我调用 XML 文件指向我的托运人的服务器 XSL 文件(例如 http://shippers-website.com/label.xsl)时会出现此错误?

谢谢!

【问题讨论】:

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

标签: css xml xslt


【解决方案1】:

我最近不得不处理一个类似的问题,并且能够通过在 Internet Explorer 中打开 xml 文件并更改安全设置来解决它。

关键设置为“跨域访问数据源”,应设置为启用。

【讨论】:

    【解决方案2】:

    如果我没记错的话,命名空间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。

    【讨论】:

      猜你喜欢
      • 2013-02-25
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2012-01-27
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多