Canonical XML Version 1.0, W3C Recommendation 15 March 2001, http://www.w3.org/TR/xml-c14n
Smyslem je popsat kritéria (a algoritmy), které pomohou rozhodnout, zda jsou dva XML dokumenty ekvivalentní, lišící se pouze fyzickou reprezentací (entity, pořadí atributů, kódování znaků)
Kanonizace "setře" rozdíly mezi takovými dokumenty, k nimž se analyzátor "bude jistě chovat stejně", tj. z pohledu aplikace jsou totožné.
Použití kanonického tvaru je nutné např. u elektronického podpisu XML dat (při výpočtu hodnoty digest).
Bylo by možné nad XML dokumenty definovat i jiné relace ekvivalence než je Canonical XML.
Hlavní zásady:
kódování v UTF-8
zlomy řádků (CR, LF) jsou normalizovány podle algoritmu uvedeného v std. XML 1.0
hodnoty atributů jsou normalizovány
reference na znakové a parsované entity jsou nahrazeny jejich obsahem
CDATA sekce jsou nahrazeny jejich obsahem
hlavička "xml" a deklarace typu dokumentu jsou odstraněny
bílé znaky mimo kořenový element jsou normalizovány
jiné bílé znaky (vyjma normalizace zlomu řádků) jsou zachovány
hodnoty atributů jsou uvozeny "
speciální znaky v hodnotách atributů a textovém obsahu elementů jsou nahrazeny referencemi na entity
nadbytečné deklarace jmenných prostorů jsou z každého elementu odstraněny
implicitní hodnoty atributů jsou dodány do každého elementu (kde je to relevantní)
na pořadí atributů a deklarací jmenných prostorů se uplatní lexikografické řazení