Trick with SGML Output Transform

Subject: Trick with SGML Output Transform
From: "W. Eliot Kimber" <eliot@xxxxxxxxxx>
Date: Mon, 16 Jun 1997 11:23:19 -0500
All,

It isn't obvious from the documentation, but the "entity" flow object will
put its output to STDOUT if you don't specify a system ID.  I'm using this
to inject the DOCTYPE into output using the ROOT construction rule, e.g.:

(root
  (make entity
    (make document-type
        name:      (gi (node-property 'docelem (current-node)))
        ; NOTE: Need prolog document string properties to get the original 
        ; public ID
;        public-id: ""
;        system-id: ""
    )
    (process-children)
  )
)

You need to use the make entity function because document-type is an atomic
flow object and therefore the process-children can't be in its scope.

Cheers,

E.

 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread