[Tustep-Liste] Infos aus dem Text als Attribut
gasperlin at gasperlin.de
gasperlin at gasperlin.de
Mo Aug 10 23:12:34 CEST 2009
Liebe Frau Jockers,
wenn die Daten so aussehen, wie Sie geschrieben haben, sollte folgendes Script
tun, was Sie wollen.
In der ersten Schleife wird eine Datenportion (<li>...</li>) gelesen und die
Variable txt am Schrägstrich (falls vorhanden) in Teilzeichenfolgen
aufgesplittet.
In der geschachtelten Schleife wird aus jeder Teilzeichenfolge die Quellenangabe
extrahiert und als Attribut in das Starttag <ha> eingesetzt. Starttag,
Teilzeichenfolge und Endetag werden zusammengefügt (CONCAT) und die einzelnen
Teilzeichenfolgen wiederum zusammengehängt (2. CONCAT). Die innere Schleife wird
beendet, das Ergebnis in die Variable txt übertragen und in die Datei b
rausgeschrieben. Dann greift wieder die erste Schleife und die nächste
Datenportion wird geholt usw. Probieren Sie es aus.
#makro
$$!
$$ MODE TUSCRIPT
BUILD S_TABLE quellen = "~qu1~qu2~qu3~qu4~"
BUILD X_TABLE quellxx = "~qu1~~qu2~~qu3~~qu4~~"
SET ha = *, start = "<ha>", ende = "</ha>"
ACCESS q: READ/STREAM "a" sn.zn/un, an/200 + txt + en/200, typ, offen
ACCESS z: WRITE/ERASE/STREAM "b" sn.zn/un, an + txt + en
LOOP/99999
READ/QUIET/EXIT q
IF (an.eq."<li>") THEN
SET ha = SPLIT (txt, "~/~"), h2 = ""
LOOP eintrag = ha
SET quelle = STRINGS (eintrag, quellen)
SET eintrag = EXCHANGE (eintrag, quellxx), eintrag = SQUEEZE (eintrag)
SET start = SET_ATTRIBUTE (start, "gloss", quelle)
SET eintrag = CONCAT (start, eintrag, ende)
SET h2 = CONCAT (h2, eintrag)
ENDLOOP
SET txt = h2
ENDIF
WRITE/CLEAR z
ENDLOOP
ENDACCESS/PRINT q
ENDACCESS/PRINT z
*eof
Mit besten Grüßen
Oliver Gasperlin
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.itug.de/pipermail/tustep-liste/attachments/20090810/f0cb0d30/attachment.htm>
Mehr Informationen über die Mailingliste Tustep-Liste