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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY docbook.dsl SYSTEM "@DOCBOOK_HTML@" CDATA DSSSL>
<!ENTITY html-common.dsl SYSTEM "@srcdir@/html-common.dsl">
<!ENTITY version.dsl SYSTEM "@srcdir@/version.dsl">
<!-- these files are generated, so they are not in @srcdir@ -->
<!ENTITY html-locale.dsl SYSTEM "html-locale.dsl">
<!ENTITY common.dsl SYSTEM "common.dsl">
]>
<!--
$Id: howto-php.dsl.in,v 1.5 2005/01/21 18:06:59 nlopess Exp $
HTML-specific stylesheet customization for the PHPDOC howto.
-->
<style-sheet>
<style-specification id="docbook-php-html" use="docbook">
<style-specification-body>
(define %html-ext% ".php")
(define %output-dir% "howto/php")
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
#t)
;; Uncommented, because generates a warning
;;(define (toc-depth nd)
;; 2)
(define %section-autolabel%
;; Are sections enumerated?
#t)
;; Retrieves a node's title from the XML source. Parameters are
;; the current node and title element's name (unused)
(define (docweb-node-title #!optional (nd (current-node)) (title-elem "title"))
(let*
(
(preferred-title-node
(cond
;; For "refentry"s search for the first (and only one)
;; "refname" from the children list of "refnamediv" childrens.
(
(equal? (gi nd) "refentry")
(node-list-first
(select-elements
(children
(select-elements (children nd) "refnamediv")
)
"refname"
)
)
)
;; For other nodes, just select the first children node
(else
(node-list-first
(select-elements (children nd) title-elem)
)
)
)
)
;; The title node is the preferred title node, or if
;; it cannot be find, then then "title" children
(title-node
(if (node-list-empty? preferred-title-node)
(select-elements (children nd) "title")
preferred-title-node
)
)
)
(data title-node)
)
)
;; Quotes a string to be inserted to a single quoted string
(define (docweb-quote str)
(string-replace str "'" "\\'")
)
;; Prints out a PHP file header. Parameter is the current node (unused)
(define (docweb-header #!optional (nd (current-node)))
(php-code
(string-append
newline
"require_once dirname(__FILE__) . '/../../include/init.inc.php';" newline
"echo site_header('" (docweb-quote (docweb-node-title nd)) "');" newline
)
)
)
;; Prints out manual footer PHP code. Parameter is the current node (unused)
(define (docweb-footer #!optional (nd (current-node)))
(php-code
(string-append
"echo site_footer();" newline
)
)
)
;; Defines the format of all the output files
;; generated for phpweb display. Parameters are the
;; title sequence and the body sequence.
(define (html-document title-sosofo body-sosofo)
(let*
(
(prev (prev-chunk-element))
(next (next-chunk-element))
(prevm (prev-major-component-chunk-element))
(nextm (next-major-component-chunk-element))
(doc-sosofo
(if (or (chunk?) (node-list=? (current-node) (sgml-root-element)))
(make sequence
(docweb-header (current-node))
body-sosofo
(footer-navigation (current-node) (list prev next prevm nextm))
(docweb-footer (current-node))
)
body-sosofo
)
)
)
(if (chunk?)
(make
entity
system-id: (html-entity-file (html-file))
doc-sosofo
)
doc-sosofo
)
)
)
&html-common.dsl;
&html-locale.dsl;
&common.dsl;
&version.dsl;
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="docbook.dsl">
</style-sheet>
|