NotesDXLExporter und NotesDXLImporter

Beispiel für einen Agent

Listing 1 zeigt ein Beispiel für einen Agent, mit dem ein Gestaltungselement aus einem XMLDokument eingelesen wird. Die Datei wird als Stream geöffnet. Die Eigenschaft für den Import von Designelementen wird gesetzt, bevor die Verarbeitung erfolgt. Der eigentliche Import ist dabei in wenigen Codezeilen erledigt.

Sub Initialize
Dim ws As New NotesUIWorkspace
Dim se As New NotesSession
Dim db As NotesDatabase
Dim stream As NotesStream
Dim im As NotesDXLImporter
Dim datName As Variant
Set db = se.CurrentDatabase
'Datenstrom erzeugen
Set stream = se.CreateStream()
datName = ws.OpenFileDialog(False, _
"Zu importierendes Gestaltungselement wählen",,"c:\temp")
If (Isempty(datName)) Then
Exit Sub
End If
'Quelldatei für Datenstrom festlegen
Call stream.Open(datName(0))
'DXLImporterobjekt unter Angabe der Quelle und des Ziels erzeugen
Set im = se.CreateDXLImporter(stream, db)
'Import von Designdokumenten aktivieren
im.DesignImportOption = 2
'Importprozess ausführen
Call im.Process()
Call stream.Close()
End Sub

Beim Import liegt die Herausforderung vor allem darin, mit korrekten Daten zu arbeiten. Am einfachsten ist das, wenn diese auch von Lotus Domino erzeugt wurden. Andernfalls muss man sich intensiv mit der DTD bzw. dem Schema auseinander setzen, um gültige XML-Dokumente für den Import in Lotus Domino zu erzeugen.