IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    

developerWorks 中国  >  XML  >

规范化 XML(Canonical XML, c14n)

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

developerWorks

级别: 中级

投稿者:W3C

2007 年 8 月 28 日

规范化 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 推荐标准]。


参考资料



回页首


文档选项

未显示需要 JavaScript 的文档选项

英文原文

英文原文


    关于 IBM 隐私条约 联系 IBM 使用条款