[Tustep-Liste] Infos aus dem Text als Attribut/ weitere Frage

gasperlin at gasperlin.de gasperlin at gasperlin.de
Tue Aug 11 22:35:31 CEST 2009


Liebe Frau Jockers,

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.


#makro
$$!
$$ MODE TUSCRIPT

BUILD S_TABLE quellen = "~qu1~qu2~qu3~qu4~"
BUILD X_TABLE quellxx = "~qu1~~qu2~~qu3~~qu4~~"

BUILD S_TABLE aken = "~<<li>>~"
BUILD S_TABLE eken = "~<</li>>~"

SET ha = *, start = "<ha>", ende = "</ha>"

ACCESS q: READ/STREAM/RECORDS "a" sn.zn/un, an/aken + txt + en/eken, typ
ACCESS z: WRITE/ERASE/STREAM "b" sn.zn/un, an + txt + en

LOOP/99999
   READ/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/ADJUST z
ENDLOOP
ENDACCESS/PRINT q
ENDACCESS/PRINT z
*eof

Gruß
Oliver Gasperlin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.uni-wuerzburg.de/pipermail/tustep-liste/attachments/20090811/c53b0f7d/attachment.htm>


More information about the Tustep-Liste mailing list