Canonical XML

XML-C14N / XML Canonicalization/ XML正規化

 XML文書には、同じ内容を異なる方法で記述するさまざまな手段が提供されている。Canonical XMLは、その表記を統一する記法のことだ。XML文書の正規化と呼ぶこともある。

 正規化は主に、XML文書を暗号化する場合に行われる。実質的な内容が同一でも記法が異なると、XML文書を暗号化するときに結果が異なる場合がある。Canonical XMLで表記を統一すれば、そうしたことが防げる。

 XML文書の表記の揺れを見てみよう。例えば、以下の例はすべて、同じ内容を表現している。

<hiragana>あ</hiragana>

<hiragana>&#x3042;</hiragana>

<hiragana>

</hiragana>

 このような表記のどれを採用するかは通常は自由だ。しかし、この3つの表記が実質的に同一であることを調べるには、表記の違いを無視して、一定の書式に変換する必要がある。

 このために使用されるものがCanonical XMLである。XML文書をCanonical XMLに変換することで表記がすべて統一され、同一の内容を持つXML文書はすべて同じ表記になる。例えば、「余計な空白は入れない」「タグの途中で改行しない」「空要素は<xxx/>ではなく、<xxx></xxx>と記述する」などといったことを決めている。Canonical XMLはW3Cで2001年3月19日に勧告されている。

 XML-C14Nという表記は、XML Canonicalizationの略である。

XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

アイティメディアの提供サービス

キャリアアップ