<!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 />
    ich habe schon vermutet, dass die Daten ganz so einfach nicht aussehen können. Im vorliegenden Fall könnten Sie z. B. den Dateizugriff auf "Daten mit Anfangs- und Endekennungen" umstellen, diese definieren und so die "Textportionen" ändern, die bei jedem READ eingelesen werden, siehe unten. Mit der Option RECORDS beim Zugriff auf die Quelldaten geben Sie an, dass beim Einlesen im STREAM auch am Beginn jedes Datensatzes eine neue Textportion begonnen wird. Das funktioniert gut, so lange Listenelemente sich nicht über Datensatzgrenzen erstrecken. Sollte dies der Fall sein, können Sie die Option RECORDS auch weglassen, sollten dann aber unter Umständen weitere Kennungen in die SEARCHTABLES aufnehmen, an denen beim READ unterteilt werden kann. Ausprobieren. <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 />
    BUILD S_TABLE aken = "~<<li>>~"<br />
    BUILD S_TABLE eken = "~<</li>>~"<br />
    <br />
    SET ha = *, start = "<ha>", ende = "</ha>"<br />
    <br />
    ACCESS q: READ/STREAM/RECORDS "a" sn.zn/un, an/aken + txt + en/eken, typ<br />
    ACCESS z: WRITE/ERASE/STREAM "b" sn.zn/un, an + txt + en<br />
    <br />
    LOOP/99999<br />
       READ/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/ADJUST z<br />
    ENDLOOP<br />
    ENDACCESS/PRINT q<br />
    ENDACCESS/PRINT z<br />
    *eof<br />
    <br />
    Gruß<br />
    Oliver Gasperlin<br />
  </body>
</html>