XML-binary Optimized Packaging (XOP) ist eine W3C-Empfehlung für die Repräsentation binärer Daten in XML-Dokumenten.

XOP ersetzt damit die sonst für die Repräsentation binärer Daten in XML Dokumenten üblichen Techniken wie Verwendung von CDATA-Blöcken, Base64-Kodierung, SOAP with Attachments unter Verwendung von MIME, sowie Microsofts Direct Internet Message Encapsulation (DIME).

Technik Bearbeiten

XOP definiert ein XOP Infoset, welches als Container für das gemischt binär-textuelle XML-Dokument fungiert. Dabei werden alle Binärdaten vom XML Dokument separiert und durch xop:include Elemente ersetzt. Diese xop:include Elemente referenzieren auf die separierten Binärdaten und ersetzen beim Deserialisieren wieder die xop:include Elemente.

Diese Technik wird von SOAP Message Transmission Optimization Mechanism (MTOM) verwendet.

Beispiel Bearbeiten

<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:http://example.org/me.png"/>

Eigenschaften Bearbeiten

XOP bietet folgende Vorteile gegenüber anderen Techniken der Übertragung binärer Daten:

  • Bei Verwendung von CDATA-Blöcken muss sichergestellt werden, dass die darin enthaltenen binären Daten nicht für CDATA Blöcke unerlaubte Zeichen wie ASCII 0x00 bis 0x08 oder ]]> enthalten.
  • Base64-Kodierung benötigt nicht nur Zeit und CPU Ressourcen, sondern erzeugt Daten, die in etwa um ein Drittel mehr Platz benötigen als die ursprünglichen Binärdaten.
  • Im Gegensatz zu SOAP with Attachments oder DIME funktionieren existierende XML-Technologien unter XOP weiterhin. Das gilt insbesondere für die weit verbreiteten Technologien XQuery, XSLT und XML Encryption.

Literatur Bearbeiten

Weblinks Bearbeiten