didou Thu Jun 3 09:06:55 2004 EDT
Modified files:
/phpdoc/dsssl html-common.dsl
Log:
revert last commit
# :|
http://cvs.php.net/diff.php/phpdoc/dsssl/html-common.dsl?r1=1.14&r2=1.15&ty=u
Index: phpdoc/dsssl/html-common.dsl
diff -u phpdoc/dsssl/html-common.dsl:1.14 phpdoc/dsssl/html-common.dsl:1.15
--- phpdoc/dsssl/html-common.dsl:1.14 Thu Jun 3 06:33:42 2004
+++ phpdoc/dsssl/html-common.dsl Thu Jun 3 09:06:55 2004
@@ -1,6 +1,6 @@
;; -*- Scheme -*-
;;
-;; $Id: html-common.dsl,v 1.14 2004/06/03 10:33:42 didou Exp $
+;; $Id: html-common.dsl,v 1.15 2004/06/03 13:06:55 didou Exp $
;;
;; Returns the depth of the auto-generated TOC (table of
@@ -8,7 +8,7 @@
(define (toc-depth nd)
(if (string=? (gi nd) "book")
2 ; the depth of the top-level TOC
- 3 ; the depth of all other TOCs
+ 1 ; the depth of all other TOCs
))
;; re-defining element-id as we need to get the id of the parent
@@ -112,6 +112,34 @@
)
)
+
+;; Linking types to the correct place
+(element type
+ (let*
+ ((orig-name (data (current-node)))
+ (type-name (cond
+ ((equal-ci? orig-name "bool") "boolean")
+ ((equal-ci? orig-name "double") "float")
+ ((equal-ci? orig-name "int") "integer")
+ ((equal-ci? orig-name "NULL") "null")
+ (else orig-name))
+ )
+ (linkend (string-append "language.types." type-name))
+ (target (element-with-id linkend))
+ )
+ (cond ((node-list-empty? target)
+ (make sequence (process-children) )
+ )
+ (else
+ (make element gi: "A"
+ attributes: (list (list "HREF" (href-to target)))
+ ( $bold-seq$(make sequence (process-children) ) )
+ )
+ )
+ )
+ )
+)
+
(element function
(let* ((function-name (data (current-node)))
(linkend
@@ -160,6 +188,74 @@
(literal "()"))))))))
+;; Link for classnames
+(element classname
+ (let* ((class-name (data (current-node)))
+ (linkend
+ (string-append
+ "class."
+ (string-replace
+ (case-fold-down class-name) "_" "-")))
+ (target (element-with-id linkend))
+ (parent-gi (gi (parent))))
+ (cond
+ ;; Function names should be plain in SYNOPSIS
+ ((equal? parent-gi "synopsis")
+ (process-children))
+
+ ;; If a valid ID for the target class is not found, or if the
+ ;; CLASSNAME tag is within the definition of the same class,
+ ;; make it bold, but don't make a link
+ ((or (node-list-empty? target)
+ (equal? (case-fold-down
+ (data (node-list-first
+ (select-elements
+ (node-list-first
+ (children
+ (select-elements
+ (children
+ (ancestor-member (parent) (list "refentry")))
+ "refnamediv")))
+ "refname"))))
+ class-name))
+ ($bold-seq$
+ (process-children)))
+
+ ;; Else make a link to the class
+ (else
+ (make element gi: "A"
+ attributes: (list
+ (list "HREF" (href-to target)))
+ ($bold-seq$
+ (process-children)))))))
+
+
+;; Linking to constants
+(element constant
+ (let* ((constant-name (data (current-node)))
+ (linkend
+ (string-append "constant."
+ (case-fold-down
+ (string-replace constant-name "_" "-"))))
+ (target (element-with-id linkend))
+ (parent-gi (gi (parent))))
+
+ (cond
+ ;; If a valid ID for the target constant is not found
+ ;; make it bold, but don't make a link
+ ((or (node-list-empty? target)(attribute-string (normalize "id")(current-node)))
+ ($bold-mono-seq$
+ (process-children)))
+
+ ;; Else make a link to the constant
+ (else
+ (make element gi: "A"
+ attributes: (list
+ (list "HREF" (href-to target)))
+ ($bold-mono-seq$
+ (process-children)))))))
+
+
;; Dispaly of examples
(element example
(make sequence
@@ -203,6 +299,27 @@
(literal editor-name)))))
)
+
+;; Put version info where the refname part in the refnamediv is
+(element (refnamediv refname)
+ (make sequence
+ (if (node-list-empty?
+ (select-elements (children
+ (select-elements (children (parent (parent (current-node)))) (normalize
"refsect1"))
+ ) (normalize "methodsynopsis"))
+ )
+ (empty-sosofo)
+ (make element gi: "P"
+ (literal " (")
+ (version-info (current-node))
+ (literal ")")
+ )
+ )
+ (process-children)
+ )
+ )
+
+
;; Display of question tags, link targets
(element question
(let* ((chlist (children (current-node)))
@@ -248,7 +365,34 @@
content
(para-check 'restart)))))
+;; Special handling of note role="seealso"
+(define ($admonpara$)
+ (let* ((title (select-elements
+ (children (parent (current-node))) (normalize "title")))
+ (has-title (not (node-list-empty? title)))
+ (adm-title (if has-title
+ (make sequence
+ (with-mode title-sosofo-mode
+ (process-node-list (node-list-first title)))
+ (literal (gentext-label-title-sep
+ (gi (parent (current-node))))))
+ (literal
+ (gentext-element-name
+ (if (equal? (normalize "seealso") (attribute-string
(normalize "role") (parent (current-node))))
+ (normalize "seealsoie")
+ (parent (current-node))))
+ (gentext-label-title-sep
+ (gi (parent (current-node))))))))
+ (make element gi: "P"
+ (if (and (not %admon-graphics%) (= (child-number) 1))
+ (make element gi: "B"
+ adm-title)
+ (empty-sosofo))
+ (process-children))))
+
+
+
(define (linebreak) (make element gi: "BR" (empty-sosofo)))
-(define %html-header-tags%
- '(("META" ("HTTP-EQUIV" "Content-type") ("CONTENT" "text/html;
charset=ISO-8859-1"))))
+
+;; vim: ts=2 sw=2 et