Hi,
NACHDEM JETZT EINER DER MODERATOREN ANGEFRAGT HAT.
Xml Dateien sind einfache Textdateien und lassen sich mit R4 erzeugen.
ich will* jetzt über ein Konfigurationsdokument und LotusScript in Klassen, Prozeduren, whatever eine Art Framework erstellen, mit dem xml-Beschreibungsdateien für ein Archivierungssystem erstellt werden. Falls jemand mal eine ähnliche Aufgabe hat, es ist überraschend simpel.
Es gibt von diesen xml Files bislang 3 bis 4 unterschiedliche Typen, aber ausser im Root-Tag und in der DTD Verknüpfung (unfachmässiges Wort, bitte korregieren, falls einer weiss) haben die Tags garantiert keine Attribute haben.
Tags können aber geschachtelt sein.
Die einzelnen Tags können eine Textnode innendrin haben, die
a) aus dem Konfigurationsdokument stammt oder
b) aus einem bestimmten Dokument (das was archiviert werden soll)
geholt wird (der Inhalt eines Feldes dieser Dokumente).
Ich mach jetzt einfach 2 große Tabellen mit 30 Zeilen (mehr wird in keinem Fall gebraucht)
Tabelle1 (für Konfig-Dok Daten Mappings)
BezArchStatic1 ContentArchStatic1 XMLArchStatic1
BezArchStatic2 ContentArchStatic2 XMLArchStatic2
....
Tabelle 2 (für Dokument-zu-Archivieren Feld Mappings)
BezArchDyn1 FieldArchDyn1 XMLArchDyn1
BezArchDyn2 FieldArchDyn2 XMLArchDyn2
....
Wenn ich hier den Bezeichner habe, komme ich auch an den Namen des XML Tags sowie an den Inhalt (entweder aus Konfig-Dok, oder aus DocZuArchivieren.
Nun mache ich ein Mehrfachwertefeld, in der ich die Grammatik des xmls definiere:
Header
[
HeaderSystem
HeaderUser
]
Body
[
ArchivTime
Subject
]
Das jetzt ein bischen vereinfacht.
Jedenfalls stehen in dem 3. Feld Bezeichner aus den obigen beiden Tabellen. Das [ bedeutet, dass die folgenden Tags genestet werden.
Beispiel Tabelle 1:
BezArchStatic1=Header ContentArchStatic1= XMLArchStatic1=HEADERCC3
BezArchStatic2=Body ContentArchStatic2= XMLArchStatic2=BODYCC3
BezArchStatic3=HeaderSystem ContentArchStatic3=JuppAnwendung XMLArchStatic3=SYSTEM
Tabelle2:
BezArchDyn1=HeaderUser FieldArchDyn1=UserName XMLArchDyn1=USER
BezArchDyn2=ArchivTime FieldArchDyn2=TimeArchive XMLArchDyn2=CC3Time
BezArchDyn2=Subject FieldArchDyn2=Topic XMLArchDyn2=SUBJECT
Diese Felder in dem zu archivierenden Dokument
UserName=Axel Janssen/Koeln1
TimeArchive=7098
Subject=Sehr wichtiger Brief
ergibt dieses xml - Fragment (xml, dtd Deklaration und Root Element erzeuge ich gesondert:
<HEADERCC3>
<SYSTEM>
JuppAnwendung
</SYSTEM
<USER>
Axel Janssen/Koeln1
</USER>
</HEADER>
<BODY>
<CC3Time>
7098
</CC3Time>
<SUBJECT>
Sehr wichtiger Brief
</SUBJECT>
</BODY>
Manche Dinge sind mit Notes wirklich sehr einfach zu lösen.
Mit Attributen in den xml tags (sowas wie das Kategorie= in <SUBJECT Kategorie="Geschäftsführung">Sehr wichtiger Brief</SUBJECT>) wärs ein bischen schwieriger, aber machbar. Wenn jemand das um Attribute erweitern will, stelle ich das zur Verfügung (wills aber mit Attributen zurück
)
Axel
--------------------
* ist ein Auftrag. Das will ist aber eine Art Protest gegen ich muß