Mulberry Technologies, Inc. logo
The DSSSL Cookbook

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:"))