Lotus Notes / Domino Sonstiges > Tipps und Tricks

Agent der XML erstellt.

(1/4) > >>

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