<!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>