mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-11-04 06:11:37 +01:00 
			
		
		
		
	
		
			
	
	
		
			171 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			171 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								;; $Id$
							 | 
						||
| 
								 | 
							
								;;
							 | 
						||
| 
								 | 
							
								;; This file is part of the Modular DocBook Stylesheet distribution.
							 | 
						||
| 
								 | 
							
								;; See ../README or http://www.berkshire.net/~norm/dsssl/
							 | 
						||
| 
								 | 
							
								;;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								;; =========================== REFERENCE PAGES ==========================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								;;(element reference ($component$))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element reference
							 | 
						||
| 
								 | 
							
								  (let* ((refinfo  (select-elements (children (current-node)) 
							 | 
						||
| 
								 | 
							
												    (normalize "docinfo")))
							 | 
						||
| 
								 | 
							
									 (refintro (select-elements (children (current-node)) 
							 | 
						||
| 
								 | 
							
												    (normalize "partintro")))
							 | 
						||
| 
								 | 
							
									 (nl       (titlepage-info-elements 
							 | 
						||
| 
								 | 
							
										    (current-node)
							 | 
						||
| 
								 | 
							
										    refinfo
							 | 
						||
| 
								 | 
							
										    (if %generate-partintro-on-titlepage%
							 | 
						||
| 
								 | 
							
											refintro
							 | 
						||
| 
								 | 
							
											(empty-node-list)))))
							 | 
						||
| 
								 | 
							
								    (html-document 
							 | 
						||
| 
								 | 
							
								     (with-mode head-title-mode 
							 | 
						||
| 
								 | 
							
								       (literal (element-title-string (current-node))))
							 | 
						||
| 
								 | 
							
								     (make sequence
							 | 
						||
| 
								 | 
							
								       (make element gi: "DIV"
							 | 
						||
| 
								 | 
							
									     attributes: (list (list "CLASS" (gi)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									     (make element gi: "A"
							 | 
						||
| 
								 | 
							
										   attributes: (list (list "NAME" (element-id)))
							 | 
						||
| 
								 | 
							
										   (empty-sosofo))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									     (if %generate-reference-titlepage%
							 | 
						||
| 
								 | 
							
										 (make sequence
							 | 
						||
| 
								 | 
							
										   (reference-titlepage nl 'recto)
							 | 
						||
| 
								 | 
							
										   (reference-titlepage nl 'verso))
							 | 
						||
| 
								 | 
							
										 (empty-sosofo))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									     (if (not (generate-toc-in-front))
							 | 
						||
| 
								 | 
							
										 (process-children)
							 | 
						||
| 
								 | 
							
										 (empty-sosofo))
							 | 
						||
| 
								 | 
							
									     
							 | 
						||
| 
								 | 
							
									     (if (and (not (node-list-empty? refintro))
							 | 
						||
| 
								 | 
							
										      (not %generate-partintro-on-titlepage%))
							 | 
						||
| 
								 | 
							
										 ($process-partintro$ refintro)
							 | 
						||
| 
								 | 
							
										 (empty-sosofo))
							 | 
						||
| 
								 | 
							
									     
							 | 
						||
| 
								 | 
							
									     (if (and %generate-reference-toc%
							 | 
						||
| 
								 | 
							
										      (not %generate-reference-toc-on-titlepage%))
							 | 
						||
| 
								 | 
							
										 (make sequence
							 | 
						||
| 
								 | 
							
										   (build-toc (current-node)
							 | 
						||
| 
								 | 
							
											      (toc-depth (current-node))))
							 | 
						||
| 
								 | 
							
										 (empty-sosofo))
							 | 
						||
| 
								 | 
							
									     
							 | 
						||
| 
								 | 
							
									     (if (generate-toc-in-front)
							 | 
						||
| 
								 | 
							
										 (process-children)
							 | 
						||
| 
								 | 
							
										 (empty-sosofo)))))))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								;; If each RefEntry begins on a new page, this title is going to wind
							 | 
						||
| 
								 | 
							
								;; up on its own page, too, so make it a divtitlepage instead.  Otherwise,
							 | 
						||
| 
								 | 
							
								;; just let it be a component title.
							 | 
						||
| 
								 | 
							
								(element (reference title) 
							 | 
						||
| 
								 | 
							
								  (empty-sosofo))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(mode refentry-head-title-mode
							 | 
						||
| 
								 | 
							
								  (default (process-children))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  (element refnamediv
							 | 
						||
| 
								 | 
							
								    (let* ((refdesc (select-elements (children (current-node)) 
							 | 
						||
| 
								 | 
							
												     (normalize "refdescriptor")))
							 | 
						||
| 
								 | 
							
									   (refname (select-elements (children (current-node)) 
							 | 
						||
| 
								 | 
							
												     (normalize "refname")))
							 | 
						||
| 
								 | 
							
									   (title   (if (node-list-empty? refdesc)
							 | 
						||
| 
								 | 
							
											(node-list-first refname)
							 | 
						||
| 
								 | 
							
											(node-list-first refdesc))))
							 | 
						||
| 
								 | 
							
								      (process-node-list title)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  (element refdescriptor
							 | 
						||
| 
								 | 
							
								    (process-children))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  (element refname
							 | 
						||
| 
								 | 
							
								    (process-children))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  (element graphic (empty-sosofo))
							 | 
						||
| 
								 | 
							
								  (element inlinegraphic (empty-sosofo)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(define ($refentry-body$)
							 | 
						||
| 
								 | 
							
								  (let ((id (element-id (current-node))))
							 | 
						||
| 
								 | 
							
								    (make sequence 
							 | 
						||
| 
								 | 
							
								      (make element gi: "H1"
							 | 
						||
| 
								 | 
							
									    (make sequence
							 | 
						||
| 
								 | 
							
									      (make element gi: "A"
							 | 
						||
| 
								 | 
							
										    attributes: (list (list "NAME" id))
							 | 
						||
| 
								 | 
							
										    (empty-sosofo))
							 | 
						||
| 
								 | 
							
									      (element-title-sosofo (current-node))))
							 | 
						||
| 
								 | 
							
								      (process-children))))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refentry
							 | 
						||
| 
								 | 
							
								  (html-document (with-mode refentry-head-title-mode
							 | 
						||
| 
								 | 
							
										   (literal (element-title-string (current-node))))
							 | 
						||
| 
								 | 
							
										 ($refentry-body$)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refmeta (empty-sosofo))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element manvolnum 
							 | 
						||
| 
								 | 
							
								  ;; only called for xrefs and citerefentry
							 | 
						||
| 
								 | 
							
								  (if %refentry-xref-manvolnum%
							 | 
						||
| 
								 | 
							
								      (sosofo-append
							 | 
						||
| 
								 | 
							
								       (literal "(")
							 | 
						||
| 
								 | 
							
								       (process-children)
							 | 
						||
| 
								 | 
							
								       (literal ")"))
							 | 
						||
| 
								 | 
							
								      (empty-sosofo)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refmiscinfo (empty-sosofo))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refentrytitle ($charseq$))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refnamediv ($block-container$))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refname
							 | 
						||
| 
								 | 
							
								  (make sequence
							 | 
						||
| 
								 | 
							
								    (if (and %refentry-generate-name% (first-sibling? (current-node)))
							 | 
						||
| 
								 | 
							
								 	($lowtitlewithsosofo$ 2 (literal (gentext-element-name 
							 | 
						||
| 
								 | 
							
													  (gi (current-node)))))
							 | 
						||
| 
								 | 
							
								 	(empty-sosofo))
							 | 
						||
| 
								 | 
							
								    (make sequence
							 | 
						||
| 
								 | 
							
									  (process-children)
							 | 
						||
| 
								 | 
							
								 	  (if (last-sibling? (current-node))
							 | 
						||
| 
								 | 
							
								 	      (empty-sosofo)
							 | 
						||
| 
								 | 
							
									      (literal (gentext-intra-label-sep (gi (current-node))))))))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refpurpose
							 | 
						||
| 
								 | 
							
								  (make sequence
							 | 
						||
| 
								 | 
							
								    (make entity-ref name: "nbsp")
							 | 
						||
| 
								 | 
							
								    (literal (dingbat "em-dash"))
							 | 
						||
| 
								 | 
							
								    (make entity-ref name: "nbsp")
							 | 
						||
| 
								 | 
							
								    (process-children)))
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								(element refdescriptor (empty-sosofo)) ;; TO DO: finish this
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refclass
							 | 
						||
| 
								 | 
							
								  (let ((role (attribute-string (normalize "role"))))
							 | 
						||
| 
								 | 
							
								    (make element gi: "P"
							 | 
						||
| 
								 | 
							
									  (make element gi: "B"
							 | 
						||
| 
								 | 
							
										(literal
							 | 
						||
| 
								 | 
							
										 (if role
							 | 
						||
| 
								 | 
							
										     (string-append role ": ")
							 | 
						||
| 
								 | 
							
										     "")))
							 | 
						||
| 
								 | 
							
									  (process-children-trim))))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refsynopsisdiv
							 | 
						||
| 
								 | 
							
								  (make element gi: "DIV"
							 | 
						||
| 
								 | 
							
									attributes: (list (list "CLASS" (gi)))
							 | 
						||
| 
								 | 
							
									(make element gi: "A"
							 | 
						||
| 
								 | 
							
									      attributes: (list (list "NAME" (element-id)))
							 | 
						||
| 
								 | 
							
									      (empty-sosofo))
							 | 
						||
| 
								 | 
							
									(make element gi: "H2"
							 | 
						||
| 
								 | 
							
									      (element-title-sosofo (current-node)))
							 | 
						||
| 
								 | 
							
									(process-children)))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element (refsynopsisdiv title) (empty-sosofo))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(element refsect1 ($block-container$))
							 | 
						||
| 
								 | 
							
								(element (refsect1 title) ($lowtitle$ 2))
							 | 
						||
| 
								 | 
							
								(element refsect2 ($block-container$))
							 | 
						||
| 
								 | 
							
								(element (refsect2 title) ($lowtitle$ 3))
							 | 
						||
| 
								 | 
							
								(element refsect3 ($block-container$))
							 | 
						||
| 
								 | 
							
								(element (refsect3 title) ($lowtitle$ 4))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |