[Tustep-Liste] Endtags richtig zuordnen und auflösen

Wolfram Brunschön brunschoen at bbaw.de
Mi Jun 8 18:58:08 CEST 2005


Liebe TUSTEP-Gemeinde,

in einer Datei werden Auszeichnungen mit <aXYZ>text</a> vorgenommen, wobei 
XYZ = <><% und <aXYZ> beliebig oft und über TUSTEP-Satzgrenzen hinweg 
ineinander verschachtelt sein kann, z.B.:
Text <aUVW>text<aABC><aGHI>blahblah</a>blöhk<MNO>mäh</a></a></a>.

Wie kann TUSTEP die Endtags richtig zuordnen und folgendermaßen auflösen:
Text <aUVW>text<aABC><aGHI>blahblah</aGHI>blöhk<MNO>mäh</aMNO></aABC></aUVW>.

Wenn ich es könnte, würde ich in einen array alle <aXYZ> bis zum ersten 
</a> einlesen und von 1 an hochzählen und dann dem ersten </a> den 
Anfangstag mit der höchsten Nummer zuordnen, und, falls es keinen nächsten 
Anfangstag gibt (dann würde nämlich der nächste Anfangstag den letzten im 
array ersetzen und der nächste Endtag würde den Anfangstag mit der höchsten 
Nummer bekommen), dem zweiten Endtag den Anfangstag n-2 zuordnen etc., den 
array löschen und zum nächsten Anfangstag gehen (wobei man gleich noch 
überprüfen kann, ob es nicht noch herrenlose </a> gibt) --- vor dem 
geistigen Auge sehe ich ein knackiges KOPIERE mit vollwertiger 
Sprungtabelle und xx-Anweisungen, das von einem gedrungenem $$-MAKRO mit 
einem ausgewachsenen Loop zwischen Access und Endaccess umworben wird.

Wie immer vielen Dank im voraus an die wissend-hilfsbereite Gemeinde,

Wolfram Brunschön



Mehr Informationen über die Mailingliste Tustep-Liste