Format von Bildern in DXL Dateien
Beim Export nach DXL können für den DXL Exporter verschiedene Parameter gesetzt werden. Einer der Parameter steuert, ob eingebettete Bilder als "notesbitmaps" oder als "gifs" exportiert werden. Das "notesbitmap" Format ist nicht weiter dokumentiert und kann daher nur durch Ausprobieren wieder in ein Fromat überführt werden, das andere Anwendungen verstehen. Der Code der das dann macht, dürfte aber wohl mit großer Wahrscheinlichkeit so seine Schwierigkeiten mit Backward-Compatibility haben. Es gibt auch keine API in Notes/DOMINO, die "notesbitmap" in ein anderes Format (z. B. jpg, gif, bmp etc.) konvertiert. Daher meine Empfehlung: Beim DXL Export Bilder immer in gif konvertieren lassen.
BASE64 Encoding
Unabhängig davon, wie der Export erfolgt, werden die Binäredaten aller in Notes/DOMINO eingebetteten Objekte beim Export nach DXL BASE64 codiert, weil sie ansonstenfür ein XML Dokument ungültige Zeichen beinhalten würden, die ein Parsen des XML unmöglich machen würden. Beim Zugriff auf die Objekte aus der DXL Datei heraus ist es daher zunächst erforderlich, durch BASE64 Decodierung zunächst die Binärdaten des ursprünglichen Objektes wieder herzustellen.
Kompriemierung
Eingebettete Objekte können in Notes/DOMINO komprimiert werden. In welcher Art (Huffman oder LZ1) die Kompression erfolgt, ist abhängig von den Einstellungen des Notes Clients durch den das Dokument erzeugt wurde. Damit ist es unmöglich, für alle Dokumente vom gleichen Kompressionsalgorithmus ausgehen zu können. Grundsätzlich müsste also ein Programm, dass auf die Objekte zugreifen möchte, beide Algorithmen unterstützen und automatisch erkennen, ob das Objekt komprimiert ist und wenn ja, mit welchem Algorithmus.
Beide Kompressionsmechanismen sind nicht durch API Funktionen zugänglich, sodass ein Dekomprimieren der Binärdaten per Programm ausserhalb von Notes nicht möglich ist - insbesonder für den LZ1 Algorithmus. Wenn eingebettete oder angehängte Objekte komprimiert sind, dann können Sie definitiv nicht aus dem DXL des Dokumentes extrahiert werden. Der einzige Weg beteht darin, die Objekte nativ aus Notes heraus zu exportieren.
Trotzdem möchte ich auch an dieser Stelle darauf hinweisen, dass ich selbst ein Tool entwickelt habe, dass diese Art von Exports ermöglicht. Allerdings greift diese Tool auf eine Reihe verschiedener Technologien zurück. Es nutzt im Kern JAVA, greift auf Notes über das C-API zu und jongliert ein Wenig mit den DXL Dateien. Alleine die Entwicklung hat ungefähr ein Jahr in Anspruch genommen. Nur so als Tip. Wenn Interesse daran besteht, dann kann ich gerne weitere Auskünfte dazu geben. Meld' Dich einfach bei mir (jochen.tuemmers@gmx.de)