NOTE-xml-canonical-req-19990605 12 KB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>XML Canonicalization Requirements Document</title>
<link REL="stylesheet" TYPE="text/css" media="screen"
HREF="http://www.w3.org/StyleSheets/TR/W3C-NOTE.css">
</head>

<body>
<div class="head">

<p><a href="http://www.w3.org/" title="Go to W3C Home Page"><img height="48" width="72"
alt="W3C" src="http://www.w3.org/Icons/w3c_home"></a></p>

<h1 class="notoc">XML Canonicalization Requirements</h1>

<h2 class="notoc">W3C Note 5-June-1999</h2>
</div>

<dl>
  <dt>This version:</dt>
  <dd><a HREF="http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605" class="loc">http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605</a></dd>
  <dt>Latest version:</dt>
  <dd><a class="loc" href="http://www.w3.org/TR/NOTE-xml-canonical-req">http://www.w3.org/TR/NOTE-xml-canonical-req</a></dd>
  <dt>Previous version</dt>
  <dd><a HREF="http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307" class="loc">http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990307</a></dd>
  <dt>Editors</dt>
  <dd><span class="author"><span class="name">James Tauber</span> <i>(<a
    HREF="mailto:jtauber@jtauber.com"><span class="email">jtauber@jtauber.com</span></a>)</i>&nbsp;<br>
    <span class="name">Joel Nava</span> <i>(<a HREF="mailto:jnava@adobe.com"><span
    class="email">jnava@adobe.com</span></a>)</i></span></dd>
</dl>

<p class="copyright"><a rel="Copyright"
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"><br>
Copyright</a> © 1999 <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a> (<a
href="http://www.lcs.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="http://www.inria.fr/"><abbr lang="fr" title="Institut National de Recherche en
Informatique et Automatique">INRIA</abbr></a>, <a
href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a
rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software
licensing</a> rules apply.</p>

<h4 CLASS="status">Status of this document</h4>

<p>This is a W3C Note produced as a deliverable of the XML Syntax WG according to its
charter. A list of current W3C Working Drafts and Notes can be found at <a
HREF="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>

<p>This document is a work in progress representing the current consensus of the W3C XML
Syntax Working Group. This version of the XML Canonicalization Requirements document has
been approved by the XML Syntax Working Group and the XML Plenary to be posted for review
by W3C members and other interested parties. Publication of this specification does not
imply endorsement by the W3C membership. Comments should be sent to the automatically and
publicly archived email list: <a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a>.</p>

<p>This document is being processed according to the following review schedule: </p>

<table BORDER="1" CELLSPACING="2" CELLPADDING="0" FRAME="BORDER" WIDTH="96%">
  <caption>Review Schedule&nbsp;</caption>
<tbody>
  <tr>
    <th>Process</th>
    <th>Closing Date</th>
    <th>Status</th>
    <th>Contact</th>
  </tr>
  <tr>
    <td>XML Syntax WG sign off</td>
    <td>1999/05/26</td>
    <td>Done</td>
    <td>XML Syntax WG</td>
  </tr>
  <tr>
    <td>XML CG Review</td>
    <td>199/05/28</td>
    <td>Done</td>
    <td>XML Syntax WG</td>
  </tr>
  <tr>
    <td>XML-DSig review</td>
    <td>1999/06/4</td>
    <td>Done</td>
    <td>XML Syntax WG, W3C/IETF XML-DSig WG, <a HREF="mailto:$reagle@w3.org">reagle@w3.org</a></td>
  </tr>
  <tr>
    <td>XML Plenary sign off</td>
    <td>1999/06/4</td>
    <td>Done</td>
    <td><a HREF="mailto:jnava@adobe.com">jnava@adobe.com</a>, <a
    HREF="mailto:jtauber@jtauber.com">jtauber@jtauber.com</a>, <a HREF="mailto:$reagle@w3.org">reagle@w3.org</a></td>
  </tr>
  <tr>
    <td>Publish as W3C Note</td>
    <td>1999/06/7</td>
    <td>Done</td>
    <td><a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a></td>
  </tr>
  <tr>
    <td>Checkpoint of comments</td>
    <td>1999/06/28</td>
    <td>Underway</td>
    <td><a HREF="mailto:www-xml-canonicalization-comments@w3.org">www-xml-canonicalization-comments@w3.org</a></td>
  </tr>
</tbody>
</table>

<p>Comments about this document should be submitted to the &quot;contact&quot; listed
above for each process.</p>

<h4 CLASS="abstract">Abstract</h4>

<p>This document lists the design principles, scope and requirements for the
Canonicalization of XML for digital signatures in XML and XML Processor conformance. These
are being developed by the World Wide Web Consortium's XML Syntax Working Group.</p>

<h2 CLASS="table-of-contents">Table of Contents</h2>

<dl>
  <dt>1. <a HREF="#intro">Introduction</a> </dt>
  <dt>2. <a HREF="#design-principles-scope">Design Principles and Scope</a> </dt>
  <dt>3. <a HREF="#requirements">Requirements</a> </dt>
  <dt>4. <a HREF="#references">References</a> </dt>
</dl>
<div CLASS="div1">

<h2><a NAME="intro"></a>1. Introduction</h2>

<p>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 (i.e. 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. Though, byte level equivalence testing is useful
in the domain of digital signatures for XML.</p>

<p>Work has started elsewhere on the broader question of digital signatures in XML
[IOTP-DSig, Brown-XML-DSig, DOMHASH]. The W3C hosted a workshop on signed XML [DS-XML],
and is forming a W3C/IETF XML-DSig WG [XML-DSig].</p>

<p>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.</p>
</div><div CLASS="div1">

<h2><a NAME="design-principles-scope"></a>2. Design Principles and Scope</h2>

<ol>
  <li>The specification for Canonical XML shall describe how to derive the canonical form of
    any XML document. </li>
  <li>Canonicalization shall reflect the logical structure of the XML document and decide
    whether to retain any of the physical (i.e. entity) structure. </li>
  <li>The specification shall not consider the canonicalization of the document type
    declaration. </li>
  <li>The specification shall consider the canonicalization of documents that make use of
    namespaces. </li>
  <li>Canonicalization shall be designed to be consistent with the XML Information Set
    Specification [Infoset-WD] and W3C I18N work [Char-Mod, Char-Req]. </li>
  <li>Canonicalization shall be designed in coordination with the W3C/IETF XML-DSig WG
    [XML-DSig], and the XML Information Set WG. To that end, The XML Syntax WG shall do the
    following: <ol>
      <li>Allow WG emails, to do with canonicalization, to be summarized, forwarded, or cross
        posted to the XML-DSig WG's public email list and the XML Information Set WG's internal
        email list. </li>
      <li>Be dependent on the review of the Specification by the XML-DSig WG and the, XML
        Information Set WG and allow them to hold up the Last Call, PR or REC process if needed. </li>
    </ol>
  </li>
  <li>The specification proposes to describe 3 level of canonicalization, changeable by the
    needs of the DSig WG: <dl>
      <dd>Level 0 - Do nothing to the XML document. </dd>
      <dd>Level 1 - Convert the encoding of the document to UTF-8 is it is not already UTF-8 </dd>
      <dd>Level 2 - Whatever is decided upon as full Canonicalization. </dd>
    </dl>
  </li>
  <li>The WG will decide if it can propose one full Canonicalization for both use cases, or to
    come up with different algorithms for each. <dl>
      <dd>&nbsp; </dd>
      <dd>&nbsp; </dd>
    </dl>
  </li>
</ol>
</div><div CLASS="div1">

<h2><a NAME="requirements"></a>3. Requirements</h2>

<ol>
  <li>Every XML document shall have a unique canonical form. </li>
  <li>The canonical form of an XML document shall be a well formed XML document with the
    following invariant property: <ol>
      <li>Any XML document, say X, processed by a canonicalizer, will produce an XML Document X'. </li>
      <li>X' passed through the same canonicalizer must produce X'. </li>
      <li>X' passed through any other conforming canonicalizer should produce X', or else one of
        them in not conformant. </li>
    </ol>
  </li>
  <li>Canonicalization shall produce byte comparable forms of characters defined by Unicode
    [Unicode] to be equivalent. </li>
  <li>The canonical form shall use the terms from, and work in cooperation with the XML
    Information Set WG to ensure there is no confusion between the Canonicalization and
    Information Set specifications. </li>
</ol>
</div><div CLASS="div1">

<h2><a NAME="references"></a>4. References</h2>

<dl>
  <dt>XML </dt>
  <dd><i>Extensible Markup Language (XML) Recommendation.</i> <tt><a
    HREF="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></tt> </dd>
  <dt>Namespaces </dt>
  <dd><i>Namespaces in XML Recommendation.</i> <tt><a
    HREF="http://www.w3.org/TR/REC-xml-names">http://www.w3.org/TR/REC-xml-names</a></tt> </dd>
  <dt>Infoset-WD </dt>
  <dd><i>XML Information Set Working Draft of May 17, 1999.</i> <tt><a
    HREF="http://www.w3.org/TR/NOTE-xml-infoset-req">http://www.w3.org/TR/xml-infoset</a></tt>
  </dd>
  <dt>Char-Mod </dt>
  <dd><i>Character Model for the World Wide Web Working Draft</i> <tt><a
    HREF="http://www.w3.org/TR/WD-charmod">http://www.w3.org/TR/WD-charmod</a></tt> </dd>
  <dt>Char-Req </dt>
  <dd><i>Requirements for String Identity and Character Indexing Definitions for the WWW</i> <tt><a
    HREF="http://www.w3.org/TR/WD-charreq">http://www.w3.org/TR/WD-charreq</a></tt> </dd>
  <dt>XML-DSig </dt>
  <dd><i>The W3C/IETF XML-DSig Charter </i><tt><a
    HREF="http://www.w3.org/1999/05/XML-DSig-charter-990521.html">http://www.w3.org/1999/05/XML-DSig-charter-990521.html</a></tt>
  </dd>
  <dt>Unicode </dt>
  <dd>The Unicode Consortium. <i>The Unicode Standard, Version 2.0.</i> Reading, Mass.:
    Addison-Wesley Developers Press, 1996 </dd>
  <dt>IOTP-DSig </dt>
  <dd>Internet Draft. <i>Digital Signatures for the Internet Open Trading Protocol</i> <tt><a
    HREF="http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt">http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt</a></tt>
  </dd>
  <dt>Brown-XML-DSig </dt>
  <dd>Internet Draft. <i>Digital Signatures for XML</i> <tt><a
    HREF="http://search.ietf.org/internet-drafts/draft-brown-xml-dsig-00.txt">http://search.ietf.org/internet-drafts/draft-brown-xml-dsig-00.txt</a></tt>
  </dd>
  <dt>DOMHASH </dt>
  <dd>Internet Draft. <i>Digest Values for DOM (DOMHASH)</i> <tt><a
    HREF="http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt">http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt</a></tt>
  </dd>
  <dt>DS-XML </dt>
  <dd><i>XML-DSig '99: The W3C Signed XML Workshop</i> <tt><a
    HREF="http://www.w3.org/1999/02/ds-xml-cfp-19990218.html">http://www.w3.org/1999/02/ds-xml-cfp-19990218.html</a></tt>
  </dd>
</dl>
</div>
</body>
</html>