On Sun, May 20, 2001 at 03:55:00PM +0200, Alexander Langer wrote:
> Aeh, Patch?
!/§&&$%&§/&§
Index: freebsd.dsl
===================================================================
RCS file: /home/ncvs/doc/share/sgml/freebsd.dsl,v
retrieving revision 1.28
diff -u -r1.28 freebsd.dsl
--- freebsd.dsl	2001/04/09 20:35:47	1.28
+++ freebsd.dsl	2001/05/19 19:58:32
@@ -414,8 +414,40 @@
             (string-append "Q" (question-answer-label)))
           (else
             (string-append "AEN" (number->string (all-element-number nd))))))
+      
+      (define (xref-biblioentry target)
+        (let* ((abbrev (node-list-first
+                        (node-list-filter-out-pis (children target))))
+               (label  (attribute-string (normalize "xreflabel") target)))
+                    
+          (if biblio-xref-title
+              (let* ((citetitles (select-elements (descendants target)
+                                                  (normalize "citetitle")))
+                     (titles     (select-elements (descendants target)
+                                                  (normalize "title")))
+                     (isbn       (select-elements (descendants target)
+                                                  (normalize "isbn")))
+                     (publisher  (select-elements (descendants target)
+                                                  (normalize "publishername")))
+                     (title      (if (node-list-empty? citetitles)
+                                     (node-list-first titles)
+                                     (node-list-first citetitles))))
+                (with-mode xref-title-mode
+                  (make sequence
+                    (process-node-list title))))
+              (if biblio-number
+                  (make sequence
+                    (literal "[" (number->string (bibentry-number target)) "]"))
+                  (if label
+                      (make sequence
+                        (literal "[" label "]"))
+                      (if (equal? (gi abbrev) (normalize "abbrev"))
+                          (make sequence
+                            (process-node-list abbrev))
+                          (make sequence
+                            (literal "[" (id target) "]"))))))))
     </style-specification-body>
   </style-specification>
-
+      
   <external-specification id="docbook" document="docbook.dsl">
 </style-sheet>
/s/Udo
PS: Diese Mail ist ausnahmsweise unsigniert, weil GPG sonst den Patch
zerhackt...
-- Cocaine is nature's way of telling you you have too much money. To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-translators" in the body of the messageReceived on Sun 20 May 2001 - 16:27:17 CEST