跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

规范化 XML(Canonical XML, c14n)

预处理 XML 文档以实现纯文本比较和数字签名

投稿者: W3C

简介:  规范化 XML(Canonical XML, c14n)使您能够创建在符合 XML 语法规则变体中保持语义一致的 XML 文档物理表示。通过本文进一步了解该标准方法,该方法可用于测试、数字签名等。

发布日期: 2007 年 8 月 28 日
级别: 中级 原创语言: 英文
访问情况 : 3200 次浏览

规范化 XML(Canonical XML, c14n)使您能够创建在符合 XML 语法规则变体中保持语义一致的 XML 文档物理表示。通过本文进一步了解该标准方法,该方法可用于测试、数字签名等。

Canonical XML Version 1.0 [W3C 推荐标准] 是一种生成 XML 文档物理表示的标准方法,称为 规范化形式 (canonical form),用于统一 XML 文档符合 XML 语法规则且不影响语义的变体。比如,在 XML 中属性的顺序并不重要,因此如果一个文档中所有的属性都按照字母顺序排列,而另一个相同的文档以不同的方式保存属性,尽管其物理表示不同,但对于 XML 1.0 而言两个文档是等价的。这有时候会造成应用中的问题。比如,如果希望用数字加密签名保护文档不被篡改,改变属性的顺序就会破坏签名,尽管对 XML 标准来讲文档实际上并没有改变。解决的办法是在进行签名、文本比较或者其他此类操作之前把文档转化成规范的形式(这个过程称为 “规范化 (canonicalization, c14n)”)。这样就可以保证 XML 中认为不重要的变动会被正确地接纳。该项工作始于 Canonical XML 1.1 [开发阶段],其中解决了 1.0 规范中一些重要问题。

有时候需要进行比较或者签名的 XML 文档实际上是一个更大的文档的一部分。即便如此,c14n 一般也需要对整个源文档进行规范化,以便处理名称空间声明这样的细节。如果需要把 c14n 严格限制在一个文档子集中,就必须使用相关的算法 Exclusive XML Canonicalization Version 1.0 [W3C 推荐标准]。


参考资料

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML
ArticleID=254283
SummaryTitle=规范化 XML(Canonical XML, c14n)
publish-date=08282007