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.

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
  • XML-binary Optimized Packaging - W3C Recommendation vom 25. Januar 2005
VD
Standards des World Wide Web Consortiums (W3C)
Empfehlungen

ActivityPub | ARIA | Canonical XML | CDF | CSS | DOM | Geolocation API | HTML | HTML5 | InkML | ITS | JSON-LD | MathML | OWL | P3P | PLS | PNG | RDF | RDF-Schema | RIF | SCXML | SISR | SKOS | SMIL | SOAP | SRGS | SSML | SVG | SPARQL | Timed Text | Turtle | VoiceXML | WSDL | XForms | XHTML | XHTML+RDFa | XInclude | XLink | XML | XML Base | XML-Encryption | XML Events | XML Information Set | XML Namespace | XML Schema | XML Signature | XPath | XPointer | XProc | XQuery | XSL | XSL-FO | XSLT (Elemente)

Arbeitsentwürfe
und Kandidaten

CCXML | CURIE | SMIL Timesheets | sXBL | WICD | XFrames | XBL | XHTML+MathML+SVG | XMLHttpRequest

Anmerkungen

XAdES | XFDL | XHTML+SMIL | XUP

Richtlinien

Web Content Accessibility Guidelines | Multimodal Interaction Activity | Markup Validation Service

Initiativen

Web Accessibility Initiative