hholzgra                Sun Jan 15 13:55:26 2006 UTC

  Modified files:              
    /phpdoc/dsssl       common.dsl.in html-common.dsl 
  Log:
  cleaned up my previous zend-api function linking hack by making the
  <function> handler "role=..." aware
  
  supported roles so far:
  
  "php"        - the default 
  "zend-api"   - a ZendEngine or TRSM C API function
  "zend-macro" - a ZendEngine or TRSM preprocessor macro
  "libc"       - a libc function, this links to external man page URLs
  
  
http://cvs.php.net/viewcvs.cgi/phpdoc/dsssl/common.dsl.in?r1=1.12&r2=1.13&diff_format=u
Index: phpdoc/dsssl/common.dsl.in
diff -u phpdoc/dsssl/common.dsl.in:1.12 phpdoc/dsssl/common.dsl.in:1.13
--- phpdoc/dsssl/common.dsl.in:1.12     Sat Jan  8 18:31:26 2005
+++ phpdoc/dsssl/common.dsl.in  Sun Jan 15 13:55:26 2006
@@ -1,6 +1,6 @@
 ;; -*- Scheme -*-
 ;;
-;; $Id: common.dsl.in,v 1.12 2005/01/08 18:31:26 hsc Exp $
+;; $Id: common.dsl.in,v 1.13 2006/01/15 13:55:26 hholzgra Exp $
 ;;
 ;; This file contains stylesheet customization common to the HTML
 ;; and print versions.
@@ -27,6 +27,10 @@
 (define %prefers-ordinal-label-name-format% @NUMBER_FIRST@)
 (define ($generate-book-lot-list$) (list))
 
+;; these are used for unix manpage linking in html-common.dsl
+(define %manpage-url-base% 
"http://www.opengroup.org/onlinepubs/007908799/xsh/";)
+(define %manpage-url-ext%  ".html")
+
 (define (php-code code)
   (make processing-instruction
     data: (string-append "php " code "?")))
http://cvs.php.net/viewcvs.cgi/phpdoc/dsssl/html-common.dsl?r1=1.23&r2=1.24&diff_format=u
Index: phpdoc/dsssl/html-common.dsl
diff -u phpdoc/dsssl/html-common.dsl:1.23 phpdoc/dsssl/html-common.dsl:1.24
--- phpdoc/dsssl/html-common.dsl:1.23   Mon Aug 29 00:42:19 2005
+++ phpdoc/dsssl/html-common.dsl        Sun Jan 15 13:55:26 2006
@@ -1,6 +1,6 @@
 ;; -*- Scheme -*-
 ;;
-;; $Id: html-common.dsl,v 1.23 2005/08/29 00:42:19 hholzgra Exp $
+;; $Id: html-common.dsl,v 1.24 2006/01/15 13:55:26 hholzgra Exp $
 ;;
 
 ;; Returns the depth of the auto-generated TOC (table of
@@ -157,15 +157,23 @@
 (element function
     (let* (
            (function-name (data (current-node)))
-           (id-base (string-replace
-                     (string-replace function-name "_" "-")
-                     "::" "."))
-           (linkend (string-append "function." (case-fold-down id-base )))
-           (target (element-with-id linkend))
-           (linkend2 (string-append "zend-api." (case-fold-down id-base )))
-           (target2 (element-with-id linkend2))
-           (linkend3 (string-append "zend-api-macro." id-base ))
-           (target3 (element-with-id linkend3))
+           (role-name (if (attribute-string (normalize "role"))
+                                                 (attribute-string (normalize 
"role"))
+                                               (normalize "php")) 
+                                         )
+           (id-base (case-fold-down (string-replace (string-replace 
function-name "_" "-") "::" ".")))
+           (target (cond 
+                                        ((equal-ci? role-name "php")        
+                                         (href-to (element-with-id 
(string-append "function."   id-base ))))
+                                        ((equal-ci? role-name "zend-api")   
+                                         (href-to (element-with-id 
(string-append "zend-api."   id-base ))))
+                                        ((equal-ci? role-name "zend-macro") 
+                                         (href-to (element-with-id 
(string-append "zend-macro." id-base ))))
+                                        ((equal-ci? role-name "libc")       
+                                         (string-append %manpage-url-base% 
function-name %manpage-url-ext%))
+                                        (else "")
+                                        )
+                                  )
            (parent-gi (gi (parent)))
            )
          
@@ -177,7 +185,7 @@
      ;; If a valid ID for the target function is not found, or if the
      ;; FUNCTION tag is within the definition of the same function,
      ;; make it bold, add (), but don't make a link
-     ((or (and (node-list-empty? target) (node-list-empty? target2) 
(node-list-empty? target3))
+     ((or (equal? target "") 
       (equal? (case-fold-updown
            (data (node-list-first
               (select-elements
@@ -198,12 +206,7 @@
      (else
       (make element gi: "A"
             attributes: (list
-                         (list "HREF" (href-to (cond ((not (node-list-empty? 
target3)) (case-fold-down target3))  
-                                                     ((not (node-list-empty? 
target2)) target2)
-                                                     ((not (node-list-empty? 
target)) target)
-                                             ))
-                               )
-                         )
+                         (list "HREF" target))
             ($bold-seq$
              (make sequence
                    (process-children)

Reply via email to