mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-31 20:31:41 +01:00 
			
		
		
		
	
		
			
	
	
		
			282 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			282 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | ;; $Id$ | ||
|  | ;; | ||
|  | ;; This file is part of the Modular DocBook Stylesheet distribution. | ||
|  | ;; See ../README or http://www.berkshire.net/~norm/dsssl/ | ||
|  | ;; | ||
|  | 
 | ||
|  | (element highlights ($block-container$)) | ||
|  | 
 | ||
|  | (element revhistory ($book-revhistory$)) | ||
|  | 
 | ||
|  | (element blockquote | ||
|  |   (let ((id     (element-id)) | ||
|  | 	(attrib (select-elements (children (current-node)) | ||
|  | 				 (normalize "attribution"))) | ||
|  | 	(paras  (node-list-filter-by-not-gi | ||
|  | 		 (children (current-node)) | ||
|  | 		 (list (normalize "attribution"))))) | ||
|  |     (make sequence | ||
|  |       (if id | ||
|  | 	  (make element gi: "A" | ||
|  | 		attributes: (list (list "NAME" id)) | ||
|  | 		(empty-sosofo)) | ||
|  | 	  (empty-sosofo)) | ||
|  | 
 | ||
|  |       (if (node-list-empty? attrib)  | ||
|  | 	  (make element gi: "BLOCKQUOTE" | ||
|  | 		attributes: '(("CLASS" "BLOCKQUOTE")) | ||
|  | 		(process-children)) | ||
|  | 	  (make element gi: "TABLE" | ||
|  | 		attributes: '(("BORDER" "0") | ||
|  | 			      ("WIDTH" "100%") | ||
|  | 			      ("CELLSPACING" "0") | ||
|  | 			      ("CELLPADDING" "0") | ||
|  | 			      ("CLASS" "BLOCKQUOTE")) | ||
|  | 		(make element gi: "TR" | ||
|  | 		      (make element gi: "TD" | ||
|  | 			    attributes: '(("WIDTH" "10%") | ||
|  | 					  ("VALIGN" "TOP")) | ||
|  | 			    (make entity-ref name: "nbsp")) | ||
|  | 		      (make element gi: "TD" | ||
|  | 			    attributes: '(("WIDTH" "80%") | ||
|  | 					  ("VALIGN" "TOP")) | ||
|  | 			    (process-node-list paras)) | ||
|  | 		      (make element gi: "TD" | ||
|  | 			    attributes: '(("WIDTH" "10%") | ||
|  | 					  ("VALIGN" "TOP")) | ||
|  | 			    (make entity-ref name: "nbsp"))) | ||
|  | 		(make element gi: "TR" | ||
|  | 		      (make element gi: "TD" | ||
|  | 			    attributes: '(("COLSPAN" "2") | ||
|  | 					  ("ALIGN" "RIGHT") | ||
|  | 					  ("VALIGN" "TOP")) | ||
|  | 			    (make sequence | ||
|  | 			      (literal "--") | ||
|  | 			      (process-node-list attrib))) | ||
|  | 		      (make element gi: "TD" | ||
|  | 			    attributes: '(("WIDTH" "10%")) | ||
|  | 			    (make entity-ref name: "nbsp")))))))) | ||
|  | 	 | ||
|  | (element epigraph | ||
|  |   (let* ((attrib       (select-elements (children (current-node)) | ||
|  | 					(normalize "attribution"))) | ||
|  | 	 (paras        (node-list-filter-by-not-gi | ||
|  | 			(children (current-node)) | ||
|  | 			(list (normalize "attribution"))))) | ||
|  |   (make element gi: "TABLE" | ||
|  | 	attributes: '(("BORDER" "0") | ||
|  | 		      ("WIDTH" "100%") | ||
|  | 		      ("CELLSPACING" "0") | ||
|  | 		      ("CELLPADDING" "0") | ||
|  | 		      ("CLASS" "EPIGRAPH")) | ||
|  | 	(make element gi: "TR" | ||
|  | 	      (make element gi: "TD" | ||
|  | 		    attributes: '(("WIDTH" "45%")) | ||
|  | 		    (make entity-ref name: "nbsp")) | ||
|  | 	      (make element gi: "TD" | ||
|  | 		    attributes: '(("WIDTH" "45%") | ||
|  | 				  ("ALIGN" "LEFT") | ||
|  | 				  ("VALIGN" "TOP")) | ||
|  | 		    (make element gi: "I" | ||
|  | 			  (process-node-list paras)))) | ||
|  | 	(if (node-list-empty? attrib) | ||
|  | 	    (empty-sosofo) | ||
|  | 	    (make element gi: "TR" | ||
|  | 		  (make element gi: "TD" | ||
|  | 			attributes: '(("WIDTH" "45%")) | ||
|  | 			(make entity-ref name: "nbsp")) | ||
|  | 		  (make element gi: "TD" | ||
|  | 			attributes: '(("WIDTH" "45%") | ||
|  | 				      ("ALIGN" "RIGHT") | ||
|  | 				      ("VALIGN" "TOP")) | ||
|  | 			(make element gi: "I" | ||
|  | 			      (process-node-list attrib)))))))) | ||
|  | 
 | ||
|  | (element attribution ($charseq$)) | ||
|  | 
 | ||
|  | (element (epigraph para) | ||
|  |   (make element gi: "P" | ||
|  | 	(make element gi: "I" | ||
|  | 	      (process-children-trim)))) | ||
|  | 
 | ||
|  | (element para ($paragraph$)) | ||
|  | (element simpara ($paragraph$)) | ||
|  | 
 | ||
|  | (element formalpara | ||
|  |   (make element gi: "DIV" | ||
|  | 	attributes: (list | ||
|  | 		     (list "CLASS" (gi))) | ||
|  | 	(make element gi: "P" | ||
|  | 	      (if (attribute-string (normalize "id")) | ||
|  | 		  (make element gi: "A" | ||
|  | 			attributes: (list | ||
|  | 				     (list "NAME" | ||
|  | 					   (attribute-string | ||
|  | 					    (normalize "id")))) | ||
|  | 			(empty-sosofo)) | ||
|  | 		  (empty-sosofo)) | ||
|  | 	      (process-children)))) | ||
|  | 
 | ||
|  | (element (formalpara title) ($runinhead$)) | ||
|  | 
 | ||
|  | (element (formalpara para) | ||
|  |   (process-children)) | ||
|  | 
 | ||
|  | (element sidebar  | ||
|  |   (make element gi: "TABLE" | ||
|  | 	attributes: (list | ||
|  | 		     (list "CLASS" (gi)) | ||
|  | 		     (list "BORDER" "1") | ||
|  | 		     (list "CELLPADDING" "5")) | ||
|  | 	(make element gi: "TR" | ||
|  | 	      (make element gi: "TD" | ||
|  | 		    ($semiformal-object$))))) | ||
|  | 
 | ||
|  | (element (sidebar title) | ||
|  |   (empty-sosofo)) | ||
|  | 
 | ||
|  | (element abstract  | ||
|  |   (make element gi: "BLOCKQUOTE" | ||
|  | 	attributes: '(("CLASS" "ABSTRACT")) | ||
|  | 	($semiformal-object$))) | ||
|  | 
 | ||
|  | (element (abstract title) (empty-sosofo)) | ||
|  | 
 | ||
|  | (element authorblurb ($block-container$)) | ||
|  | 
 | ||
|  | (element ackno ($paragraph$)) | ||
|  | 
 | ||
|  | (define ($inline-object$) | ||
|  |   (process-children)) | ||
|  | 
 | ||
|  | (define ($informal-object$ #!optional (rule-before? #f) (rule-after? #f)) | ||
|  |   (let ((id (element-id))) | ||
|  |     (make element gi: "DIV" | ||
|  | 	  attributes: (list | ||
|  | 		       (list "CLASS" (gi))) | ||
|  | 	  (if id | ||
|  | 	      (make element gi: "A" | ||
|  | 		    attributes: (list (list "NAME" id)) | ||
|  | 		    (empty-sosofo)) | ||
|  | 	      (empty-sosofo)) | ||
|  | 
 | ||
|  | 	  (if %spacing-paras% | ||
|  | 	      (make element gi: "P" (empty-sosofo)) | ||
|  | 	      (empty-sosofo)) | ||
|  | 	   | ||
|  | 	  (if rule-before? | ||
|  | 	      (make empty-element gi: "HR") | ||
|  | 	      (empty-sosofo)) | ||
|  | 
 | ||
|  | 	  (process-children) | ||
|  | 
 | ||
|  | 	  (if rule-after? | ||
|  | 	      (make empty-element gi: "HR") | ||
|  | 	      (empty-sosofo)) | ||
|  | 	   | ||
|  | 	  (if %spacing-paras% | ||
|  | 	      (make element gi: "P" (empty-sosofo)) | ||
|  | 	      (empty-sosofo))))) | ||
|  |    | ||
|  | (define (object-title-after #!optional (node (current-node)))  | ||
|  |   (if (member (gi node) ($object-titles-after$)) | ||
|  |       #t | ||
|  |       #f)) | ||
|  | 
 | ||
|  | (define (named-formal-objects) | ||
|  |   (list (normalize "figure") | ||
|  | 	(normalize "table") | ||
|  | 	(normalize "example") | ||
|  | 	(normalize "equation"))) | ||
|  | 
 | ||
|  | (define ($formal-object$ #!optional (rule-before? #f) (rule-after? #f)) | ||
|  |   (let* ((nsep  (gentext-label-title-sep (gi))) | ||
|  | 	 (id    (element-id)) | ||
|  | 	 (title-inline-sosofo  | ||
|  | 	        (make sequence | ||
|  | 		  (if (member (gi) (named-formal-objects)) | ||
|  | 		      (make sequence | ||
|  | 			(literal (gentext-element-name (gi))) | ||
|  | 			(if (string=? (element-label) "") | ||
|  | 			    (literal nsep) | ||
|  | 			    (literal " " (element-label) nsep))) | ||
|  | 		      (empty-sosofo)) | ||
|  | 		  (with-mode title-mode | ||
|  | 		    (process-node-list  | ||
|  | 		     (select-elements (children (current-node)) | ||
|  | 				      (normalize "title")))))) | ||
|  | 	 (title-sosofo (make element gi: "P" | ||
|  | 			     (make element gi: "B" | ||
|  | 				   title-inline-sosofo))) | ||
|  | 	 (object-sosofo (process-children))) | ||
|  |     (make element gi: "DIV"  | ||
|  | 	  attributes: (list | ||
|  | 		       (list "CLASS" (gi))) | ||
|  | 
 | ||
|  | 	  (if rule-before? | ||
|  | 	      (make empty-element gi: "HR") | ||
|  | 	      (empty-sosofo)) | ||
|  | 
 | ||
|  | 	  (if id | ||
|  | 	      (make element gi: "A" | ||
|  | 		    attributes: (list  | ||
|  | 				 (list "NAME" id)) | ||
|  | 		    (empty-sosofo)) | ||
|  | 	      (empty-sosofo)) | ||
|  | 	   | ||
|  | 	  (if (object-title-after) | ||
|  | 	      (make sequence | ||
|  | 		object-sosofo | ||
|  | 		title-sosofo) | ||
|  | 	      (make sequence | ||
|  | 		title-sosofo | ||
|  | 		object-sosofo)) | ||
|  | 
 | ||
|  | 	  (if rule-after? | ||
|  | 	      (make empty-element gi: "HR") | ||
|  | 	      (empty-sosofo))))) | ||
|  | 
 | ||
|  | (define ($semiformal-object$) | ||
|  |   ;; semiformal means optional title... | ||
|  |   (if (node-list-empty? (select-elements (children (current-node))  | ||
|  | 					 (normalize "title"))) | ||
|  |       ($informal-object$) | ||
|  |       ($formal-object$))) | ||
|  | 
 | ||
|  | (element example  | ||
|  |   ($formal-object$ %example-rules% %example-rules%)) | ||
|  | 
 | ||
|  | (element (example title) (empty-sosofo)) ; don't show caption below example | ||
|  | 
 | ||
|  | (element informalexample | ||
|  |   ($informal-object$ %informalexample-rules% %informalexample-rules%)) | ||
|  | 
 | ||
|  | (element (figure title) (empty-sosofo)) ; don't show caption below figure | ||
|  | 
 | ||
|  | (element figure  | ||
|  |   ($formal-object$ %figure-rules% %figure-rules%)) | ||
|  | 
 | ||
|  | (element informaltable | ||
|  |   ($informal-object$ %informaltable-rules% %informaltable-rules%)) | ||
|  | 
 | ||
|  | (element table | ||
|  |   ($formal-object$ %table-rules% %table-rules%)) | ||
|  | 
 | ||
|  | (element (table title) (empty-sosofo)) | ||
|  | 
 | ||
|  | (element comment | ||
|  |   (if %show-comments% | ||
|  |       (make element gi: "P" | ||
|  | 	    attributes: '(("CLASS" "COMMENT")) | ||
|  | 	    (process-children)) | ||
|  |       (empty-sosofo))) | ||
|  | 
 | ||
|  | ;; In DocBook V4.0 comment became remark | ||
|  | (element remark | ||
|  |   (if %show-comments% | ||
|  |       (make element gi: "P" | ||
|  | 	    attributes: '(("CLASS" "COMMENT")) | ||
|  | 	    (process-children)) | ||
|  |       (empty-sosofo))) | ||
|  | 
 |