Autor Thema: Framework für xml File erzeugen auf Notes 4  (Gelesen 1785 mal)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Framework für xml File erzeugen auf Notes 4
« am: 08.09.05 - 21:15:11 »
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  ;D )

Axel
 


--------------------
* ist ein Auftrag. Das will ist aber eine Art Protest gegen ich muß
« Letzte Änderung: 09.09.05 - 13:20:15 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Framework für xml File erzeugen auf Notes 4
« Antwort #1 am: 30.09.05 - 22:43:17 »
ok. meine berühmten ankündigungen. Ich weiss.
Trotzdem.  :P
Ich poste das mal nächste Woche.
Noch nicht ganz fertig und eigentlich wollte ich das von meinem Arbeitsplatz rübermailen. Dann wurds aber knapp mit dem Zug.

Für meinen Kollegen und mich als erste Externe in der Geschichte des Ladens den VPN Zugriff von aussen zu bekommen ist durch, aber eben doch ein längeres Projekt.  ;D

Ich sehe das als ein Beispiel an, wo das mit den Klassen in Lotus Script wirklich Sinn macht.

Ich hab da auch noch ein paar Fragen. Ich finde, dass z.T. Datentypen in LotusScript ziemliche gotchas haben (z.B. Initialisierung von Type).

Vielleicht ist das auch für nicht-xml Aufgaben interessant. Irgendwie ist das eine Möglichkeit eine Hierarchie-Logik in Konfigurationsdokumente zu bringen, die ohne Programmierung änderbar ist.

Komplexere Konfigurationsdokumente geht imho ganz gut in Notes.
Hatte ich schon vorher. So extrem aber noch nie.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz