Creating a Generic Function
(define ($label-para$ label)
($generic-line-field-para$
(literal label)
(process-children-trim)))
(define ($generic-line-field-para$ line-field children)
(make paragraph
use: para-style
space-before: %para-sep%
start-indent: %body-start-indent%
first-line-start-indent: (- %body-start-indent%)
(make line-field
field-width: %body-start-indent%
(make sequence
font-weight: 'bold
line-field))
(make sequence
children)))
(element ELEM.TAG
($generic-line-field-para$
(literal "Tag:")
($mono-seq$
(make sequence
(literal "<")
(process-children-trim)
(literal ">")))))
(element ATTR.TAG ($label-para$ "Tag:"))