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 XML-Binary Optimized Packaging - XML and nontext data can work together, Andrey Butov in Dr. Dobb’s, 1. Dezember 2005
Weblinks XML-binary Optimized Packaging - W3C Recommendation vom 25. Januar 2005
Kategorie:XML-basierte Sprache