[Tustep-Liste] Auszeichnungen vor und nach Seitenumbruch
Kuno Sch�lkle
schaelkle at zdv.uni-tuebingen.de
Mi Mär 26 11:08:15 CET 2008
Sehr geehrter Herr Bambeck,
wenn in Ihren Daten für "<pb..>" z.B. "<pb attr=.../>" steht,
können Sie mit folgendem Programm jeweils vor diesem Tag die
offenen Tags schließen und danach wieder öffnen:
$$! quelle, ziel
$$-
$$ MODE TUSCRIPT
SET status = CHECK (quelle, READ, TUSTEP)
ERROR/STOP "QUELLE: ", status
SET status = CHECK (ziel, WRITE, TUSTEP)
ERROR/STOP "ZIEL: ", status
SET status = UNIQUE (quelle, ziel)
ERROR/STOP "Datei ", status, " ist mehrfach angegeben"
COMPILE
ACCESS q: READ/STREAM/RECORDS "{quelle}" ...
sn.zn/un, aken + text + eken, typ, tags
ACCESS z: WRITE/ERASE/STREAM "{ziel}" ...
sn.zn/un, aken + text + eken
SET merk = ""
LOOP/999999
READ/NEXT/EXIT q
IF (merk.NE."") WRITE/CLEAR z merk
IF (text.SW."<pb ") THEN
SET merk = EXCHANGE (tags, ":<<pb>>::")
SET hilf = EXCHANGE (merk, ":<<:<</:")
WRITE/LAST z hilf
ENDIF
WRITE z
ENDLOOP
ENDACCESS/PRINT q
ENDACCESS/PRINT z
ENDCOMPILE
Dabei werden die Daten kopiert bis "<pb attr=.../>" kommt.
Dann stehen in der Variablen "tags" die offenen Tags,
einschließlich "<pb>". Dieses "<pb>" wird entfernt und die
restlichen Tags werden in der Variablen "merk" gemerkt, damit
sie vor dem nächsten Satz ausgegeben werden können.
Die offenen Tags werden noch zu schließenden umgewandelt und
diese an den letzten Satz angehängt. Dann wird wieder
weiterkopiert bis zum nächsten "<pb attr=.../>".
=========================================================================
Für ein großes Portal, das derzeit vorbereitet wird, muss eine große
HTML-Datei an den Stellen, wo <pb...> steht in viele Einzeldateien zerlegt
werden. Das ist kein Problem und funktioniert bereits. Allerdings gibt es
Probleme dort, wo z.B. ein Tag-Anfang steht wie <quote>, <i> oder etwas
ähnliches, dann <pb...> auftaucht und schließlich </i> und </quote> folgen.
Das Ganze kann also ungefähr so aussehen:
xxx xxx xxx <quote> qqq qqq qqq
qqq qqq qqq <i> iii iii iii
<pb..>
iii iii</i> qqq qqq qqq</quote> xxx
xxx xxx
Allerdings kann man nie wissen, welche Tags bei <pb> noch offen sind und
davor noch geschlossen werden müssen bzw. nach dem <pb> wieder geöffnet
werden müssen, und das in der richtigen Reihenfolge, so dass da also steht:
xxx xxx xxx <quote> qqq qqq qqq
qqq qqq qqq <i> iii iii iii</i></quote>
<pb..>
<quote><i>iii iii</i> qqq qqq qqq</quote> xxx
xxx xxx
Mehr Informationen über die Mailingliste Tustep-Liste