AlternC/aide/bin/frames.dsl

145 lines
4.0 KiB
Plaintext
Raw Normal View History

<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
]>
<style-sheet>
<style-specification use="docbook">
<style-specification-body>
(define %stylesheet-version%
"DocBook HTML Frames Stylesheet version 2.0")
(define %stylesheet% "docbook.css");
(root
(make sequence
(process-children)
(with-mode manifest
(process-children))
(make-dhtml-toc)))
(define (make-dhtml-toc)
(make entity
system-id: "toc.htm"
(make element gi: "HTML"
(make element gi: "HEAD"
(make element gi: "TITLE" (literal "DocBook TOC"))
($standard-html-header$))
(make element gi: "BODY"
(with-mode dhtmltoc
(process-children))
)))
)
(define (dhtml-toc-entry nd gilist)
(let*
(
(subdivnodes (node-list-filter-by-gi (children nd) gilist))
(subdivs (and (> (node-list-length subdivnodes) 0) (not (node-list=? nd (sgml-root-element))) ) )
)
(if (node-list=? nd (sgml-root-element))
; SEQUENCE 1 : ROOT element
(make sequence
(make element gi: "NOBR"
(make element gi: "A"
attributes: (list (list "HREF" (href-to (current-node)))
(list "TARGET" "right")
)
(element-title-sosofo (current-node))
)
(make empty-element gi: "BR")
(make element gi: "UL"
attributes: (list (list "CLASS" "TOC"))
(process-children))
)
)
; SEQUENCE 2 : Children elements
(make sequence
(make empty-element gi: "LI")
(make element gi: "NOBR"
(make element gi: "A"
attributes: (list (list "HREF" (href-to (current-node)))
(list "TARGET" "right")
)
(element-title-sosofo (current-node))
))
; DIV ENFANT :
(make element gi: "UL"
attributes: (list (list "CLASS" "TOC2"))
(process-children))
) ; sequence
) ; if node-list ...
))
(mode dhtmltoc
(default (empty-sosofo))
(element set (dhtml-toc-entry (current-node)
(list (normalize "book"))))
(element book (dhtml-toc-entry (current-node)
(list (normalize "part")
(normalize "preface")
(normalize "chapter")
(normalize "appendix")
(normalize "reference"))))
(element preface (dhtml-toc-entry (current-node)
(list (normalize "sect1"))))
(element part (dhtml-toc-entry (current-node)
(list (normalize "preface")
(normalize "chapter")
(normalize "appendix")
(normalize "reference"))))
(element chapter (dhtml-toc-entry (current-node)
(list (normalize "sect1"))))
(element appendix (dhtml-toc-entry (current-node)
(list (normalize "sect1"))))
(element sect1 (dhtml-toc-entry (current-node) '()))
(element reference (dhtml-toc-entry (current-node)
(list (normalize "refentry"))))
(element refentry (dhtml-toc-entry (current-node) '()))
)
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="docbook.dsl">
</style-sheet>