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

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

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

Eigenschaften

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

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.