1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
(letrec
((g-any
(rdp-cond*
`((#(ENDTAG)) ; leave untouched
; need to rename into divisions
; could be changed if we don't use section
; for teacher's remarks
(#(STARTTAG (SECT SECT1 SECT2))
,(rdpp-rename 'DIVISION (rdp-call g-any)))
(#(STARTTAG) ,(rdp-call p-any)) ; pass untouched
,(pass-otherwise))))
(p-any (rdpp-keep g-any))
(rdp-watch-out
(lambda (msg f)
(lambda (c h s)
(stream-dbg-watch msg (f c h s)))))
(mksect
(lambda (hd)
`((#(STARTTAG DIVISION (#(ID CDATA ,hd) #(LANG TOKEN ("DE"))))
#(STARTTAG HEADING ())
#(DATA ,hd)
#(ENDTAG HEADING))
#(ENDTAG DIVISION))))
(mkpresect
(lambda (hd)
`((#(STARTTAG P ()) #(ENDTAG P)
#(STARTTAG BF ())
#(DATA ,(string-upcase hd))
#(ENDTAG BF)
#(STARTTAG P ()) #(ENDTAG P))
))))
(rdpp-rename
'DOCUMENT
(rdp-cond
`((#(STARTTAG HEADING)
,p-any
,(rdp-cond*
`((#(STARTTAG ZEIT)
,(rdp-repll `((#(STARTTAG BF ())
#(DATA "Zeit: "))
(#(ENDTAG BF))) g-any))
(#(STARTTAG FRAGE) ,(rdp-repll (mkpresect "Frage") g-any))
(#(STARTTAG ZIEL) ,(rdp-repll (mkpresect "Ziel") g-any))
(#(STARTTAG MOTIV) ,(rdp-repll (mkpresect "Motivation") g-any))
(#(STARTTAG VORAUS) ,(rdp-repll
(mkpresect "Vorwissen / Wiederholung")
g-any))
(#(STARTTAG STOFF) ,(rdp-repll (mkpresect "Stoff") g-any))
)))))))
|