Re: (dsssl) file I/O and system call in dsssl

Subject: Re: (dsssl) file I/O and system call in dsssl
From: Brandon Ibach <bibach@xxxxxxxxxxxxxx>
Date: Thu, 1 Nov 2001 10:09:31 -0600
Quoting Trent Shipley <tcshipley@xxxxxxxxxxxxx>:
> In an ideal world DSSSL would be a SCHEME library so that the call would use 
> ANSI SCHEME file IO.
> 
> As far as I know OpenJade can't be used that way . . . 
> 
   No, it can't, and it shouldn't.  Making DSSSL available as a
library would have certain advantages, but doing so in order to allow
access to these sorts of facilities from within DSSSL scripts would
*not* be a good idea.
   I suppose I'm getting a bit theoretical, here, but I believe the
designers of DSSSL had some very good reasons for basing it on the
side-effect free subset of Scheme.  For starters, this means that the
document can be processed in a different order, if it suits the DSSSL
engine for performance or other reasons, as long as the result order
is maintained.  This sort of reordering is made much simpler by the
lack of side-effects in DSSSL processing rules.
   As an example, if your source document specifies a directory to be
created, and several files to be copied into that directory, calling
functions to do those operations during the processing of the document
could cause a problem if the DSSSL engine, for some reason, chose to
process the nodes that triggered the file copies before the node that
triggered the directory creation.
   By using the approach of creating the shell script, instead, the
DSSSL engine will guarantee that the operations in the script will be
in the order that the document specifies them (assuming the stylesheet
maintains that) when the processing is complete.

-Brandon :)

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

Current Thread