hholzgra                Sun Aug 28 20:42:21 2005 EDT

  Modified files:              
    /phpdoc/dsssl       html-common.dsl 
  Log:
  we now have three different places to look for a function reference:
  
  - regular functions
  - api functions 
  - api macros
  
  where api macros are assumed to be all upper case
  
http://cvs.php.net/diff.php/phpdoc/dsssl/html-common.dsl?r1=1.22&r2=1.23&ty=u
Index: phpdoc/dsssl/html-common.dsl
diff -u phpdoc/dsssl/html-common.dsl:1.22 phpdoc/dsssl/html-common.dsl:1.23
--- phpdoc/dsssl/html-common.dsl:1.22   Sun Aug 28 20:39:37 2005
+++ phpdoc/dsssl/html-common.dsl        Sun Aug 28 20:42:19 2005
@@ -1,6 +1,6 @@
 ;; -*- Scheme -*-
 ;;
-;; $Id: html-common.dsl,v 1.22 2005/08/29 00:39:37 hholzgra Exp $
+;; $Id: html-common.dsl,v 1.23 2005/08/29 00:42:19 hholzgra Exp $
 ;;
 
 ;; Returns the depth of the auto-generated TOC (table of
@@ -21,6 +21,17 @@
         (attribute-string (normalize "id") elem)
         (generate-anchor elem))))
 
+
+;; convert to lower case unless all characters are upper case
+(define (case-fold-updown str)
+  (let (
+               (upstr (case-fold-up   str))
+               (downstr (case-fold-down str))
+               )
+    (if (equal? upstr str) upstr downstr )
+    )
+)
+
 ;; Make function definitions bold
 (element (funcdef function) 
   ($bold-seq$
@@ -140,16 +151,24 @@
   )
 )
 
+
+
+
 (element function
-  (let* ((function-name (data (current-node)))
-     (linkend 
-      (string-append
-       "function." 
-       (case-fold-down (string-replace
-                        (string-replace function-name "_" "-")
-                        "::" "."))))
-     (target (element-with-id linkend))
-     (parent-gi (gi (parent))))
+    (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))
+           (parent-gi (gi (parent)))
+           )
+         
     (cond
      ;; function names should be plain in FUNCDEF
      ((equal? parent-gi "funcdef")
@@ -158,8 +177,8 @@
      ;; 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 (node-list-empty? target)
-      (equal? (case-fold-down
+     ((or (and (node-list-empty? target) (node-list-empty? target2) 
(node-list-empty? target3))
+      (equal? (case-fold-updown
            (data (node-list-first
               (select-elements
                (node-list-first
@@ -169,7 +188,7 @@
                    (ancestor-member (parent) (list "refentry")))
                   "refnamediv")))
                "refname"))))
-          (case-fold-down function-name)))
+          (case-fold-updown function-name)))
       ($bold-seq$
        (make sequence
      (process-children)
@@ -178,14 +197,20 @@
      ;; Else make a link to the function and add ()
      (else
       (make element gi: "A"
-        attributes: (list
-             (list "HREF" (href-to target)))
-        ($bold-seq$
-         (make sequence
-           (process-children)
-           (literal
-        )
-           (literal "()"))))))))
+            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)
+                                             ))
+                               )
+                         )
+            ($bold-seq$
+             (make sequence
+                   (process-children)
+                   (literal
+                    )
+                   (literal "()")))))
+     )))
 
 
 ;; Link for classnames

Reply via email to