Blame print/dbinline.dsl

Packit Service 4c4772
;; $Id: dbinline.dsl,v 1.7 2003/03/25 19:53:56 adicarlo Exp $
Packit Service 4c4772
;;
Packit Service 4c4772
;; This file is part of the Modular DocBook Stylesheet distribution.
Packit Service 4c4772
;; See ../README or http://docbook.sourceforge.net/projects/dsssl/
Packit Service 4c4772
;;
Packit Service 4c4772
Packit Service 4c4772
;; ============================== INLINES ===============================
Packit Service 4c4772
Packit Service 4c4772
(element abbrev ($charseq$))
Packit Service 4c4772
(element accel ($score-seq$ 'after))
Packit Service 4c4772
(element acronym ($charseq$))
Packit Service 4c4772
(element action ($charseq$))
Packit Service 4c4772
(element application ($charseq$))
Packit Service 4c4772
(element classname ($mono-seq$))
Packit Service 4c4772
(element constant ($mono-seq$))
Packit Service 4c4772
(element command ($bold-seq$))
Packit Service 4c4772
(element computeroutput ($mono-seq$))
Packit Service 4c4772
(element database ($charseq$))
Packit Service 4c4772
(element email 
Packit Service 4c4772
  (make sequence (literal "<") ($mono-seq$) (literal ">")))
Packit Service 4c4772
(element envar ($charseq$))
Packit Service 4c4772
(element errorcode ($charseq$))
Packit Service 4c4772
(element errorname ($charseq$))
Packit Service 4c4772
(element errortype ($charseq$))
Packit Service 4c4772
(element filename ($mono-seq$))
Packit Service 4c4772
(element function ($mono-seq$))
Packit Service 4c4772
(element guibutton ($guilabel-seq$))
Packit Service 4c4772
(element guiicon ($guilabel-seq$))
Packit Service 4c4772
(element guilabel ($guilabel-seq$))
Packit Service 4c4772
(element guimenu ($guilabel-seq$))
Packit Service 4c4772
(element guimenuitem ($guilabel-seq$))
Packit Service 4c4772
(element guisubmenu ($guilabel-seq$))
Packit Service 4c4772
(element hardware ($charseq$))
Packit Service 4c4772
(element interface ($charseq$))
Packit Service 4c4772
(element interfacedefinition ($charseq$))
Packit Service 4c4772
(element keycap ($bold-seq$))
Packit Service 4c4772
(element keycode ($charseq$))
Packit Service 4c4772
Packit Service 4c4772
(element keycombo 
Packit Service 4c4772
  (let* ((action (attribute-string (normalize "action")))
Packit Service 4c4772
	 (joinchar 
Packit Service 4c4772
	  (cond
Packit Service 4c4772
	   ((equal? action (normalize "seq")) " ")          ;; space
Packit Service 4c4772
	   ((equal? action (normalize "simul")) "+")        ;; +
Packit Service 4c4772
	   ((equal? action (normalize "press")) "-")        ;; ? I don't know
Packit Service 4c4772
	   ((equal? action (normalize "click")) "-")        ;; ? what to do
Packit Service 4c4772
	   ((equal? action (normalize "double-click")) "-") ;; ? about the rest
Packit Service 4c4772
	   ((equal? action (normalize "other")) "-")        ;; ? of these
Packit Service 4c4772
	   (else "-"))))
Packit Service 4c4772
    (let loop ((nl (children (current-node))) (count 1))
Packit Service 4c4772
      (if (node-list-empty? nl)
Packit Service 4c4772
	  (empty-sosofo)
Packit Service 4c4772
	  (if (equal? count 1)
Packit Service 4c4772
	      (make sequence
Packit Service 4c4772
		(process-node-list (node-list-first nl))
Packit Service 4c4772
		(loop (node-list-rest nl) (+ count 1)))
Packit Service 4c4772
	      (make sequence
Packit Service 4c4772
		(literal joinchar)
Packit Service 4c4772
		(process-node-list (node-list-first nl))
Packit Service 4c4772
		(loop (node-list-rest nl) (+ count 1))))))))
Packit Service 4c4772
Packit Service 4c4772
(element keysym ($charseq$))
Packit Service 4c4772
(element literal ($mono-seq$))
Packit Service 4c4772
(element medialabel ($italic-seq$))
Packit Service 4c4772
Packit Service 4c4772
(element menuchoice
Packit Service 4c4772
  (let* ((shortcut (select-elements (children (current-node)) 
Packit Service 4c4772
				    (normalize "shortcut")))
Packit Service 4c4772
	 (items    (node-list-filter-by-not-gi
Packit Service 4c4772
		    (children (current-node))
Packit Service 4c4772
		    (list (normalize "shortcut")))))
Packit Service 4c4772
    (make sequence
Packit Service 4c4772
      (let loop ((nl items) (first? #t))
Packit Service 4c4772
	(if (node-list-empty? nl)
Packit Service 4c4772
	    (empty-sosofo)
Packit Service 4c4772
	    (make sequence
Packit Service 4c4772
	      (if first?
Packit Service 4c4772
		  (process-node-list (node-list-first nl))
Packit Service 4c4772
		  (make sequence
Packit Service 4c4772
		    (if (or (equal? (gi (node-list-first nl))
Packit Service 4c4772
				    (normalize "guimenuitem"))
Packit Service 4c4772
			    (equal? (gi (node-list-first nl))
Packit Service 4c4772
				    (normalize "guisubmenu")))
Packit Service 4c4772
			(literal "\rightwards-arrow;")
Packit Service 4c4772
			(literal "+"))
Packit Service 4c4772
		    (process-node-list (node-list-first nl))))
Packit Service 4c4772
	      (loop (node-list-rest nl) #f))))
Packit Service 4c4772
      (if (node-list-empty? shortcut)
Packit Service 4c4772
	  (empty-sosofo)
Packit Service 4c4772
	  (make sequence
Packit Service 4c4772
	    (literal " (")
Packit Service 4c4772
	    (process-node-list shortcut)
Packit Service 4c4772
	    (literal ")"))))))
Packit Service 4c4772
Packit Service 4c4772
(element methodname ($mono-seq$))
Packit Service 4c4772
(element shortcut ($bold-seq$))
Packit Service 4c4772
(element mousebutton ($charseq$))
Packit Service 4c4772
(element option ($mono-seq$))
Packit Service 4c4772
Packit Service 4c4772
(element optional 
Packit Service 4c4772
  (make sequence 
Packit Service 4c4772
    (literal %arg-choice-opt-open-str%)
Packit Service 4c4772
    ($charseq$)
Packit Service 4c4772
    (literal %arg-choice-opt-close-str%)))
Packit Service 4c4772
Packit Service 4c4772
(element parameter ($italic-mono-seq$))
Packit Service 4c4772
(element property ($charseq$))
Packit Service 4c4772
(element prompt ($mono-seq$))
Packit Service 4c4772
(element replaceable ($italic-mono-seq$))
Packit Service 4c4772
(element returnvalue ($charseq$))
Packit Service 4c4772
(element structfield ($italic-mono-seq$))
Packit Service 4c4772
(element structname ($charseq$))
Packit Service 4c4772
(element symbol ($charseq$))
Packit Service 4c4772
(element systemitem ($charseq$))
Packit Service 4c4772
(element token ($charseq$))
Packit Service 4c4772
(element type ($charseq$))
Packit Service 4c4772
(element userinput ($bold-mono-seq$))
Packit Service 4c4772
(element varname ($mono-seq$))
Packit Service 4c4772
Packit Service 4c4772
(element citation 
Packit Service 4c4772
  (if biblio-citation-check
Packit Service 4c4772
      (let* ((bgraphies (select-elements (descendants (sgml-root-element))
Packit Service 4c4772
					 (normalize "bibliography")))
Packit Service 4c4772
	     (bchildren1 (expand-children bgraphies
Packit Service 4c4772
					  (list (normalize "bibliography"))))
Packit Service 4c4772
	     (bchildren2 (expand-children bchildren1
Packit Service 4c4772
					  (list (normalize "bibliodiv"))))
Packit Service 4c4772
	     (bibentries (node-list-filter-by-gi 
Packit Service 4c4772
			  bchildren2
Packit Service 4c4772
			  (list (normalize "biblioentry")
Packit Service 4c4772
				(normalize "bibliomixed")))))
Packit Service 4c4772
	(let loop ((bibs bibentries))
Packit Service 4c4772
	  (if (node-list-empty? bibs)
Packit Service 4c4772
	      (make sequence
Packit Service 4c4772
		(error (string-append "Cannot find citation: " 
Packit Service 4c4772
					   (data (current-node))))
Packit Service 4c4772
		(literal "[") ($charseq$) (literal "]"))
Packit Service 4c4772
	      (if (citation-matches-target? (current-node) 
Packit Service 4c4772
					    (node-list-first bibs))
Packit Service 4c4772
		  (make link 
Packit Service 4c4772
		    destination: (node-list-address (node-list-first bibs))
Packit Service 4c4772
		    (literal "[") ($charseq$) (literal "]"))
Packit Service 4c4772
		  (loop (node-list-rest bibs))))))
Packit Service 4c4772
      (make sequence 
Packit Service 4c4772
	(literal "[") ($charseq$) (literal "]"))))
Packit Service 4c4772
Packit Service 4c4772
(element citerefentry 
Packit Service 4c4772
  (if %refentry-xref-italic%
Packit Service 4c4772
      ($italic-seq$)
Packit Service 4c4772
      ($charseq$)))
Packit Service 4c4772
Packit Service 4c4772
(element citetitle
Packit Service 4c4772
  (if (equal? (attribute-string (normalize "pubwork")) "article")
Packit Service 4c4772
      (make sequence
Packit Service 4c4772
	(literal (gentext-start-quote))
Packit Service 4c4772
	(process-children)
Packit Service 4c4772
	(literal (gentext-end-quote)))
Packit Service 4c4772
      ($italic-seq$)))
Packit Service 4c4772
Packit Service 4c4772
(element emphasis
Packit Service 4c4772
  (if (and (attribute-string (normalize "role"))
Packit Service 4c4772
	   (or (equal? (attribute-string (normalize "role")) "strong")
Packit Service 4c4772
	       (equal? (attribute-string (normalize "role")) "bold")))
Packit Service 4c4772
      ($bold-seq$)
Packit Service 4c4772
      ($italic-seq$)))
Packit Service 4c4772
Packit Service 4c4772
(element foreignphrase ($italic-seq$))
Packit Service 4c4772
(element markup ($charseq$))
Packit Service 4c4772
(element phrase ($charseq$))
Packit Service 4c4772
Packit Service 4c4772
(element quote
Packit Service 4c4772
  (let* ((hnr   (hierarchical-number-recursive (normalize "quote") 
Packit Service 4c4772
					       (current-node)))
Packit Service 4c4772
	 (depth (length hnr)))
Packit Service 4c4772
    (if (equal? (modulo depth 2) 1)
Packit Service 4c4772
	(make sequence
Packit Service 4c4772
	  (literal (gentext-start-nested-quote))
Packit Service 4c4772
	  (process-children)
Packit Service 4c4772
	  (literal (gentext-end-nested-quote)))
Packit Service 4c4772
	(make sequence
Packit Service 4c4772
	  (literal (gentext-start-quote))
Packit Service 4c4772
	  (process-children)
Packit Service 4c4772
	  (literal (gentext-end-quote))))))
Packit Service 4c4772
Packit Service 4c4772
(element sgmltag
Packit Service 4c4772
  (let ((class (if (attribute-string (normalize "class"))
Packit Service 4c4772
		   (attribute-string (normalize "class"))
Packit Service 4c4772
		   (normalize "element"))))
Packit Service 4c4772
    (cond
Packit Service 4c4772
Packit Service 4c4772
      ((equal? class (normalize "attribute")) ($mono-seq$))
Packit Service 4c4772
      ((equal? class (normalize "attvalue")) ($mono-seq$))
Packit Service 4c4772
      ((equal? class (normalize "element")) ($mono-seq$))
Packit Service 4c4772
      ((equal? class (normalize "emptytag")) ($mono-seq$ (make sequence 
Packit Service 4c4772
				  (literal "<") 
Packit Service 4c4772
				  (process-children)
Packit Service 4c4772
				  (literal "/>"))))
Packit Service 4c4772
      ((equal? class (normalize "endtag")) ($mono-seq$ (make sequence 
Packit Service 4c4772
			       (literal "</") 
Packit Service 4c4772
			       (process-children)
Packit Service 4c4772
			       (literal ">"))))
Packit Service 4c4772
      ((equal? class (normalize "genentity")) ($mono-seq$ (make sequence
Packit Service 4c4772
				    (literal "&")
Packit Service 4c4772
				    (process-children)
Packit Service 4c4772
				    (literal ";"))))
Packit Service 4c4772
      ((equal? class (normalize "numcharref")) ($mono-seq$ (make sequence
Packit Service 4c4772
				     (literal "&#")
Packit Service 4c4772
				     (process-children)
Packit Service 4c4772
				     (literal ";"))))
Packit Service 4c4772
      ((equal? class (normalize "paramentity")) ($mono-seq$ (make sequence
Packit Service 4c4772
				      (literal "%")
Packit Service 4c4772
				      (process-children)
Packit Service 4c4772
				      (literal ";"))))
Packit Service 4c4772
      ((equal? class (normalize "pi")) ($mono-seq$ (make sequence 
Packit Service 4c4772
			    (literal "
Packit Service 4c4772
			    (process-children)
Packit Service 4c4772
			    (literal ">"))))
Packit Service 4c4772
      ((equal? class (normalize "starttag")) ($mono-seq$ (make sequence 
Packit Service 4c4772
				  (literal "<") 
Packit Service 4c4772
				  (process-children)
Packit Service 4c4772
				  (literal ">"))))
Packit Service 4c4772
      ((equal? class (normalize "sgmlcomment")) ($mono-seq$ (make sequence 
Packit Service 4c4772
				     (literal "
Packit Service 4c4772
				     (process-children)
Packit Service 4c4772
				     (literal "-->"))))
Packit Service 4c4772
      ((equal? class (normalize "xmlpi")) ($mono-seq$ (make sequence 
Packit Service 4c4772
			    (literal "
Packit Service 4c4772
			    (process-children)
Packit Service 4c4772
			    (literal "?>"))))
Packit Service 4c4772
]]>
Packit Service 4c4772
      (else ($charseq$)))))
Packit Service 4c4772
Packit Service 4c4772
(element trademark 
Packit Service 4c4772
  (make sequence
Packit Service 4c4772
    ($charseq$)
Packit Service 4c4772
    (cond
Packit Service 4c4772
     ((equal? (attribute-string "class") (normalize "copyright"))
Packit Service 4c4772
      (literal "\copyright-sign;"))
Packit Service 4c4772
     ((equal? (attribute-string "class") (normalize "registered"))
Packit Service 4c4772
      (literal "\registered-sign;"))
Packit Service 4c4772
     ((equal? (attribute-string "class") (normalize "service"))
Packit Service 4c4772
      ($ss-seq$ + (literal "SM")))
Packit Service 4c4772
     (else
Packit Service 4c4772
      (literal "\trade-mark-sign;")))))
Packit Service 4c4772
Packit Service 4c4772
(element wordasword ($italic-seq$))
Packit Service 4c4772
Packit Service 4c4772
(element lineannotation
Packit Service 4c4772
  (make sequence
Packit Service 4c4772
    font-family-name: %body-font-family%
Packit Service 4c4772
    font-posture: 'italic
Packit Service 4c4772
    (process-children)))
Packit Service 4c4772
Packit Service 4c4772
(define ($ss-seq$ plus-or-minus #!optional (sosofo (process-children)))
Packit Service 4c4772
  (make sequence
Packit Service 4c4772
	font-size:
Packit Service 4c4772
	  (* (inherited-font-size) %ss-size-factor%)
Packit Service 4c4772
	position-point-shift:
Packit Service 4c4772
	  (plus-or-minus (* (inherited-font-size) %ss-shift-factor%))
Packit Service 4c4772
	sosofo))
Packit Service 4c4772
Packit Service 4c4772
(element superscript ($ss-seq$ +))
Packit Service 4c4772
(element subscript ($ss-seq$ -))