[Tustep-Liste] Infos aus dem Text als Attribut/ weitere Frage
gasperlin at gasperlin.de
gasperlin at gasperlin.de
Di 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
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.itug.de/pipermail/tustep-liste/attachments/20090811/c53b0f7d/attachment.htm>
Mehr Informationen über die Mailingliste Tustep-Liste