|
Subject: Re: Using SUBDOCs From: Alexander Taranov <tay@xxxxxxxxxx> Date: Thu, 15 Oct 1998 11:15:53 +0400 (MSD) |
Chuck, below is full toy example
It is assumed that master doc contains
<docref ref="some-entity">
and "some-entity" is docbook ARTICLE.
result is -- identical transformation of master doc
and substitution in place of docref
<ARTICLE-TITLE>..whatever title is</ARTICLE-TITLE>
-------------- cut here --------------------------------------
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN">
<style-sheet>
<style-specification id="main" use="ext-defs ident">
<style-specification-body>
(default (same-element))
(element
docref
(let ((file (entity-system-id (attribute-string "ref"))))
(with-mode mk-xref
(process-node-list
(sgml-parse file)))))
;;;;;;;;;;;;;; subdoc processed here ;;;;;;;;;;;;;;
;; it is toy subdoc processing
;; it just extracts from ARTICLE its title and inserts it into
;; main doc
(mode mk-xref
(default (empty-sosfo))
(element ARTICLE
(process-children))
(element ARTHEADER (process-children))
(element TITLE (make element
gi: "ARTICLE-TITLE" ;; just for example
(process-children)))
)
</style-specification-body>
</style-specification>
<style-specification id="ident" use="ext-defs">
<style-specification-body>
(define (copy-attributes #!optional (nd (current-node)))
(let loop ((atts (named-node-list-names (attributes nd))))
(if (null? atts)
'()
(let* ((name (car atts))
(value (attribute-string name nd)))
(if value
(cons (list name value)
(loop (cdr atts)))
(loop (cdr atts)))))))
(define (same-element #!optional (nd (current-node)))
(make element
gi: (gi nd)
attributes: (copy-attributes nd)))
</style-specification-body>
</style-specification>
<style-specification id="ext-defs">
<style-specification-body>
(declare-flow-object-class element
"UNREGISTERED::James Clark//Flow Object Class::element")
(declare-flow-object-class empty-element
"UNREGISTERED::James Clark//Flow Object Class::empty-element")
(declare-flow-object-class document-type
"UNREGISTERED::James Clark//Flow Object Class::document-type")
(declare-flow-object-class processing-instruction
"UNREGISTERED::James Clark//Flow Object Class::processing-instruction")
(declare-flow-object-class entity
"UNREGISTERED::James Clark//Flow Object Class::entity")
(declare-flow-object-class entity-ref
"UNREGISTERED::James Clark//Flow Object Class::entity-ref")
(declare-flow-object-class formatting-instruction
"UNREGISTERED::James Clark//Flow Object Class::formatting-instruction")
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
</style-specification-body>
</style-specification>
</style-sheet>
DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: Using SUBDOCs, Lassi A. Tuura | Thread | Re: Using SUBDOCs, Paul Prescod |
| Re: Using SUBDOCs, Lassi A. Tuura | Date | Re: Docbook stylesheet customizatio, Norman Walsh |
| Month |