Lotus Notes / Domino Sonstiges > Tipps und Tricks
Agent der XML erstellt.
CLI_Andreas_Schmidt:
Hi an alle,
dieser Lotus Script Agent erstellt XML Dokumente aus einer Notes Ansicht.
Gruesse
Andreas Schmidt
http://www.lotus-schmidt.de
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim marke As Variant
Set db = session.CurrentDatabase
Set v = db.GetView("AKP")
Set doc = v.getfirstdocument
REM Open xml file named after current database
Dim stream As NotesStream
Set stream = session.CreateStream
filename$ = "c:\jadxl\" & Left(db.FileName, Len(db.FileName) - 3) & "xml"
If Not stream.Open(filename$) Then
Messagebox "Cannot open " & filename$,, "Error"
Exit Sub
End If
Call stream.Truncate
REM Export current database as DXL
Dim exporter As NotesDXLExporter
Set exporter = session.CreateDXLExporter
Call exporter.SetInput(doc)
Call exporter.SetOutput(stream)
Call exporter.Process
End Sub 8) 8) 8) 8)
Meff:
Hi Andreas,
wäre nicht schlecht, wenn Du zu diesem Agent ein kleines Anwendungsbeispiel hinzufügen könntest. Mit XML kann man viele schöne Dinge treiben aber oft fehlt einem der Ansatz dazu.
Meff ;)
CLI_Andreas_Schmidt:
Ich arbeite zur Zeit an einem Parser der mir anhand einer DTD, die Inhalte prüft und in Java einlesen kann um sie dann im Web zur Verfügung zu stellen.
Wenn ich da was habe, dann stelle ich es in Forum.
Gruss
Andreas Schmidt 8)
Don Pasquale:
Hallo Andreas,
irgendwie schreit dieser Code nach einer Fortsetzung
bzw. einer Vollendung mit einer While .. Wend Schleife.
Als Namen finde ich die UniversalID schöner.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ndoc As NotesDocument
Dim nView As NotesView
Dim stream As NotesStream
Dim exporter As NotesDXLExporter
Dim sname As String
Dim cpath As String
cpath = "d:\data\xml\"
' PARAMETRISIERBAR MACHEN
'---------------------------------------------------------------------
Set session = New NotesSession
Set db = session.CurrentDatabase
Set nView = db.GetView ( "($ALL)" )
Set nDoc = nView.GetFirstDocument
'---------------------------------------------------------------------
While Not nDoc Is Nothing
Set stream = session.CreateStream
sName = cPath & nDoc.UniversalID & ".xml"
If Not stream.Open( sName ) Then
Messagebox "Cannot open " & sName,, "Error"
Exit Sub
End If
Call stream.Truncate
Set exporter = session.CreateDXLExporter ( nDoc, stream )
Call exporter.process ()'
Set nDoc = nView.GetNextDocument ( nDoc )
Set stream = Nothing
Wend
Axel_Janssen:
(werde jetzt ein bischen out_of_topic, bzw. ich erweitere das topic und damit ist es auch eigentlich nicht mehr Tipps und Tricks Forum. Find das aber persönlich nicht so schlimm, gerade in eher turbulenten Zeiten wie diesen.
8) werds Morgen mal ausprobieren. Was macht man dann mit dem xml file? :-[ ???
Jetzt nicht böse gemeint, aber wo ist der konkrete Nutzen für den Kunden? Das ist ein konkretes Problem von mir: Ein Kunde hat Budget für "Neue Technologie" nicht aber für Domino. Vielleicht ließe sich dieser konkrete Business case viel besser und einfacher mit Domino Mitteln lösen. Aber das Budget ist eben gebunden an "Neue Technologie".
Domino Dokumente und XML-Dokumente sind eigentlich ziemlich ähnlich. Es sind Datenstrukturen, die prinzipiell einen hohen Grad an Flexibilität hinsichtlich der Struktur der enthaltenen Daten-(Felder) erlauben.
Bei XML ist das abhängig von der dtd, dem xml-schema. Beides kann man mit mehr oder eben auch weniger Beschränkungen definieren.
Domino und XML benötigen eine Art Client zur Anzeige. Da ist man bei xml flexibler aber aufwendiger zu erstellen. GUI, die das xml liest, darstellt, da-reinschreibt, xslt/xsl-fo, das weiß wie es aus dem xml so etwas wie HTML oder PDF (Beispiel) erzeugt.
Ich halte die Behauptung xml Dokumente wären menschenlesbar schon länger für 83.7% Propaganda. Stimmt vielleicht für triviale Beispiele. Reale xml Dokumente sehen aber mehr wie ein dxl-File aus und das ist nicht sonderlich lesbar.
Das ist vielleicht die Tragik von Domino und "der Öffnung gegenüber den Standards". Wir hatten und haben eine fertige RAD-Plattform, die beschränkt aber effizient ist.
Wir haben diese ganzen tollen Standards, aber was machen wir damit? Ralf hat mich genau da von der von mir vorher von mir vernachlässigten Swing-Technologie überzeugt, weil da war plötzlich ein konkreter Anwendungsnutzen (s. UI GroupCal).
Genau das ist kompliziert.
Das geht vom Anwendungsnutzen aus:
http://www-106.ibm.com/developerworks/library/x-wxxm19.html?ca=dnt-436
Gipfelt dann in Sätzen wie
--- Zitat ---To convert these files in XML, you can use XML Import (XI), a project I developed previously in this column. As you might remember, XI uses regular expressions to parse text documents and import them to XML.
--- Ende Zitat ---
Aber das gipfelt so oft in solchen Sätzen... Google ist dein Kumpel.
Gruß Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln