[[workshops:tuscript|Zurück zur Übersichtsseite - TUSCRIPT Workshops]] ---- ====== TUSTEP und TEI ====== - {{files_open:benutzericons:kollatz-lg.jpg?nolink&16x16|kollatz}} kollatz\\ \\ ===== Problem: Flach strukturierte Daten in hierarchische Struktur überführen ===== \\ …\\ \\ * Quelldatei

Überschrift1

eins

eins

Überschrift2

zwei

zwei

Überschrift3

drei

Überschrift4

vier

Überschrift5

fünf

Überschrift3

drei

Überschrift2

zwei

zwei

\\ * Zieldatei
Überschrift1

eins

eins

Überschrift2

zwei

zwei

Überschrift3

drei

Überschrift4

vier

Überschrift5

fünf

Überschrift3

drei

Überschrift2

zwei

zwei

\\ * Skript $$ MODE TUSCRIPT,{} ERROR/STOP OPEN ("alt",READ,-std-) ERROR/STOP CREATE ("neu",seq-e,-std-) STACK div CREATE ACCESS q: READ/STREAM "alt" s.z/u,a+txt+e,typ,stack ACCESS z: WRITE/ERASE/STREAM/PROGRAM "neu" s.z/u,a+txt+e LOOP/999999999 READ/EXIT q IF (a.ma."::") THEN level=STRINGS (a,":{\0}:") STACK div SIZE size IF (size!=0) THEN a="
" LOOP STACK div peek/EXIT peek IF (peek>=level) THEN STACK div pop/EXIT size a=CONCAT ("
",a) ELSE EXIT ENDIF ENDLOOP ELSE a="
" ENDIF STACK div push level ENDIF IF (e.ma."::") e="" IF (a.sw."","type","section") STACK div CLEAR ENDIF IF (e.sw."") THEN e="
" STACK div SIZE size IF (size!=0) THEN STACK div PEEK peek LOOP n=1,size e=APPEND (e,"","") ENDLOOP ENDIF ENDIF WRITE/ADJUST z ENDLOOP ENDACCESS/PRINT q ENDACCESS/PRINT z
\\ ---- [[workshops:tuscript|Zurück zur Übersichtsseite - TUSCRIPT Workshops]]