<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Canonical_XML</id>
	<title>Canonical XML - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Canonical_XML"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Canonical_XML&amp;action=history"/>
	<updated>2026-06-03T23:30:54Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Canonical_XML&amp;diff=2646377&amp;oldid=prev</id>
		<title>imported&gt;Aka: /* Weblinks */ https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Canonical_XML&amp;diff=2646377&amp;oldid=prev"/>
		<updated>2023-04-07T13:43:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Weblinks: &lt;/span&gt; https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Canonical XML&amp;#039;&amp;#039;&amp;#039; bezeichnet die [[kanonische Form]] von [[Extensible Markup Language|XML]]-Dokumenten, welche die Vergleichbarkeit zweier solcher Dokumente vereinfachen soll. Aus diesem Grund entfernt die Canonical XML-Transformation unbedeutende Unterschiede zwischen den Dokumenten. Jedes XML-Dokument kann in die kanonische Form (Canonical XML) gebracht werden.&lt;br /&gt;
&lt;br /&gt;
Beispielsweise erlaubt XML das Auftreten von Leerzeichen an bestimmten Stellen innerhalb des Start-[[Tag (Informatik)|Tags]], und [[Attribut (Auszeichnungssprache)|Attribute]] können in beliebiger Reihenfolge angegeben werden. Solche Unterschiede werden, wenn überhaupt, sehr selten mit einer Bedeutung versehen. Aus diesem Grund werden die folgenden beiden Formen allgemein als äquivalent angesehen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;a&amp;quot; secure=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;p     secure   = &amp;quot;1&amp;quot;&lt;br /&gt;
              class=&amp;#039;a&amp;#039;    &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Zuge der Umwandlung eines beliebigen XML-Dokumentes in kanonisches XML werden die Attribute ihrer nominativen Ordnung (ihrem Namen nach alphabetisch) sortiert und die Leerstellen und Anführungszeichen werden vereinheitlicht. Somit würde die zweite Form in die erste Form umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
Canonical XML spezifiziert eine Reihe anderer Details, von denen einige hier aufgeführt werden:&lt;br /&gt;
* die [[UTF-8]]-Zeichenkodierung wird verwendet,&lt;br /&gt;
* Zeilenenden werden durch das Zeichen 0x0A (New Line = [[Zeilenvorschub]]) repräsentiert,&lt;br /&gt;
* Leerzeichen innerhalb der Attributwerte werden vereinheitlicht,&lt;br /&gt;
* Entitäts-Referenzen werden aufgelöst,&lt;br /&gt;
* als [[CDATA]] markierte Abschnitte werden aufgelöst,&lt;br /&gt;
* leere Elemente werden mit Start- und Endtags &amp;lt;code&amp;gt;&amp;lt;leer&amp;gt;&amp;lt;/leer&amp;gt;&amp;lt;/code&amp;gt; kodiert, nicht durch Verwendung als Leertags &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;leer/&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;,&lt;br /&gt;
* Standardattribute werden explizit angegeben,&lt;br /&gt;
* überflüssige Namensraum-Deklarationen werden gelöscht.&lt;br /&gt;
&lt;br /&gt;
Ein Dokument in Canonical XML zu konvertieren, ist [[Idempotenz|idempotent]]. Das bedeutet, dass sich bei der ersten Umwandlung die dargestellten Zeichen im Vergleich zum Original ändern, jedoch bei weiteren Umwandlungen keine weiteren Änderungen vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
Laut dem [[World Wide Web Consortium|W3C]] können zwei Dokumente innerhalb des gegebenen Anwendungskontextes als logisch äquivalent angesehen werden, wenn diese die gleiche kanonische Form haben (außer Begrenzungen in Bezug auf einige selten vorkommende Fälle).&lt;br /&gt;
&lt;br /&gt;
Allerdings könnten Nutzer in speziellen Umgebungen Wert auf spezielle Semantiken legen, welche sich außerhalb der allgemeinen logischen Gleichheit befinden, mit der Canonical XML assoziiert ist. Beispielsweise könnte ein [[Steganographie]]-System in einem XML-Dokument durch Veränderung von Leerzeichen, Anführungszeichen von Attributen und Anordnung dieser, die Verwendung von hexadezimalen vs. dezimalen Zeichenreferenzen usw. Informationen verbergen. Offensichtlich gehen durch die Umwandlung einer solchen Datei in Canonical XML diese speziellen Semantiken verloren. Allerdings können auch XML-Dateien, die sich in der Verwendung von Groß- vs. Kleinschreibung unterscheiden, bzw. solche, die alte vs. neue Rechtschreibung verwenden usw., als äquivalent für bestimmte Zwecke angesehen werden. Solche Kontexte sind außerhalb des Rahmens von Canonical XML.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Eine Implementierung von Canonical XML findet sich im Programm xmllint, das Bestandteil von [[Libxml2|gnome libxml2]] ist und daneben für Microsoft Windows verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
Beispielanwendung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xmllint --c14n SomeXml.xml &amp;gt; CanonicalVersionOf_SomeXml.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[XML Signature]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.w3.org/TR/xml-c14n/ W3C Empfehlung, Canonical XML Version 1.0, 15. März 2001]&lt;br /&gt;
* [https://www.w3.org/TR/xml-exc-c14n/ W3C-Empfehlung, Exclusive XML Canonicalization Version 1.0, 18. Juli 2002]&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste W3C-Standards}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Kryptologischer Standard]]&lt;br /&gt;
[[Kategorie:XML-basierte Sprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>