;; $Id: dbprocdr.dsl,v 1.4 2004/09/23 20:34:58 petere78 Exp $ ;; ;; This file is part of the Modular DocBook Stylesheet distribution. ;; See ../README or http://docbook.sourceforge.net/projects/dsssl/ ;; ;; ============================= PROCEDURES ============================= (define (PROCSTEP ilvl) (if (> ilvl 1) 2.0em 1.8em)) (element procedure (let ((titles (select-elements (children (current-node)) (normalize "title"))) (preamble (node-list-filter-by-not-gi (children (current-node)) (list (normalize "step")))) (steps (node-list-filter-by-gi (children (current-node)) (list (normalize "step")))) (id (attribute-string (normalize "id")))) (make element gi: "DIV" attributes: (list (list "CLASS" (gi))) (if (not (node-list-empty? titles)) (make element gi: "P" (make element gi: "B" (make sequence (if id (make element gi: "A" attributes: (list (list "NAME" id)) (empty-sosofo)) (empty-sosofo)) (with-mode title-mode (process-node-list titles))))) (if id (make element gi: "A" attributes: (list (list "NAME" id)) (empty-sosofo)) (empty-sosofo))) (process-node-list preamble) (make element gi: "OL" attributes: (list (list "TYPE" ($proc-hierarch-number-format$ 1))) (process-node-list steps))))) (element (procedure title) (empty-sosofo)) (element substeps (make element gi: "OL" attributes: (list (list "CLASS" "SUBSTEPS") (list "TYPE" ($proc-hierarch-number-format$ (+ ($proc-step-depth$ (current-node)) 1)))) (process-children))) (element step (let ((id (attribute-string (normalize "id")))) (make sequence (make element gi: "LI" attributes: (list (list "CLASS" (gi))) (if id (make element gi: "A" attributes: (list (list "NAME" id)) (empty-sosofo)) (empty-sosofo)) (process-children)))))