XML-binary Optimized Packaging
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.
Vorteile
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 die entsprechenden Bytes für
]]>
enthalten (welche ein Ende des CDATA Blockes markieren würden) - Base64 Kodierung benötigt nicht nur Zeit und CPU Ressourcen, sondern erzeugt typischerweise Daten, die in etwar um ein drittel mehr Platz benötigen als die ursprünglichen Binärdaten.[1]
- 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. Jänner 2005
Einzelnachweise
- ↑ Patterns and Strategies for Building Document-Based Web Services, Sameer Tyagi, Sun Technical Articles, September 2004.