规范化 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 推荐标准]。
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- 参阅 Uche Ogbuji 的文章 XML 规范化形式简介,通过示例对 Canonical XML 进行了介绍(developerWorks,2004 年 12 月)。
- 阅读其他 XML 标准:XML 标准索引。
- 参与任何面向 XML 的论坛: XML 专区讨论论坛。
- 加入 developerWorks 社区:developerWorks blogs。
- 查看 IBM XML
认证,了解如何成为 IBM 认证的 XML 及相关技术的开发人员。
-
XML 技术文档库,访问 developerWorks XML 专区,提供了大量技术文章、技巧、教程、标准和 IBM 红皮书。
-
developerWorks 技术事件和网络广播,随时关注技术最新进展。
- 使用 IBM 试用版软件构建您的下一个开发项目,可直接从 developerWorks 下载:IBM 试用版软件。