<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title></title>
</head>
<body>
<br />
Liebe Frau Jockers,<br />
<br />
wenn die Daten so aussehen, wie Sie geschrieben haben, sollte folgendes Script tun, was Sie wollen. <br />
In der ersten Schleife wird eine Datenportion (<li>...</li>) gelesen und die Variable txt am Schrägstrich (falls vorhanden) in Teilzeichenfolgen aufgesplittet.<br />
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.<br />
<br />
<br />
#makro<br />
$$!<br />
$$ MODE TUSCRIPT<br />
<br />
BUILD S_TABLE quellen = "~qu1~qu2~qu3~qu4~"<br />
BUILD X_TABLE quellxx = "~qu1~~qu2~~qu3~~qu4~~"<br />
<br />
SET ha = *, start = "<ha>", ende = "</ha>"<br />
<br />
ACCESS q: READ/STREAM "a" sn.zn/un, an/200 + txt + en/200, typ, offen<br />
ACCESS z: WRITE/ERASE/STREAM "b" sn.zn/un, an + txt + en<br />
<br />
LOOP/99999<br />
READ/QUIET/EXIT q<br />
IF (an.eq."<li>") THEN<br />
SET ha = SPLIT (txt, "~/~"), h2 = ""<br />
LOOP eintrag = ha<br />
SET quelle = STRINGS (eintrag, quellen)<br />
SET eintrag = EXCHANGE (eintrag, quellxx), eintrag = SQUEEZE (eintrag)<br />
SET start = SET_ATTRIBUTE (start, "gloss", quelle)<br />
SET eintrag = CONCAT (start, eintrag, ende)<br />
SET h2 = CONCAT (h2, eintrag)<br />
ENDLOOP<br />
SET txt = h2<br />
ENDIF<br />
WRITE/CLEAR z<br />
ENDLOOP<br />
ENDACCESS/PRINT q<br />
ENDACCESS/PRINT z<br />
*eof<br />
<br />
Mit besten Grüßen<br />
Oliver Gasperlin<br />
</body>
</html>