[This local archive copy is from the official and canonical URL, http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307; please refer to the canonical source document if possible.]
Copyright © 1999 W3C MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
The XML Syntax Working Group, with this 7 Mar 1999 publication, invites early feedback on requirements for work on XML Canonicalization. For background on this work, please see the XML Activity Statement.
This doesn't represent the working group's consensus on a finished document, but rather an early draft for public review. Please send comments to the editor.
This document is a NOTE made available by the W3 Consortium for discussion only. Publication as a Note does not imply endorsement by the W3C membership.
A list of current W3C technical reports and publications, including working drafts and notes, can be found at http://www.w3.org/TR.
This document lists the design principles, scope and requirements for the Canonicalization of XML being developed by the World Wide Web Consortium's XML Syntax Working Group.
The XML 1.0 Recommendation [XML] describes the syntax of a class of data objects called XML documents. It is possible, however, for logically equivalent XML documents to differ in their physical representation. In particular, two equivalent XML documents may differ on such issues as physical (ie entity) structure, attribute ordering, character encoding and insignificant whitespace. This means that equivalence testing cannot be done at the byte level for arbitrary XML documents. Such equivalence testing is useful in a number of domains including digital signatures, checksums, version control and conformance testing.
Work has started elsewhere on the broader question of digital signatures in XML [IOTP-DSig, Brown-XML-DSig, DOMHASH]. The W3C has a forthcoming workshop on signed XML [DS-XML].
The Canonical XML specification aims to introduce a notion of equivalence between XML documents which can be tested at the syntactic level and, in particular, by byte-for-byte comparison. It shall describe the canonicalization of XML documents such that logically equivalent documents will have the same byte-for-byte representation. This form is referred to as the canonical form of the document.