Michael -- there is a nice side effect of running your SMGL through James
Clark's SX (the SGML->XML converter that you mentioned, in that external entitites are expanded using a
catalog.  The resulting XML file isn't exactly pretty since it has oddly
placed line breaks--but (of course) it is valid XML!

"I don't see how creating and storing the file in SGML mode solves this
issue.  At some point the entity reference has to be transformed into a
system identifier when the file is 'published.'"

Also, Tim asked :

"I'm wondering if anyone knows about the availability of
tools which allow you to use XSL in server-side on
the fly XML->HTML transformations.  I haven't seen any
publicly available perl modules which process XSL, and
Microsoft's processor doesn't seem to run on anything
but Microsoft servers (don't know why I expected anything

You can use another one of James Clark's packages (where does he find the
time to work on this stuff) called XT (
which will transform XML->HTML using an XSL stylesheet.  XT is a Java
program, so you'd need to install Java on your server to be able to run XT.
It seems a bit slow to me, so I'm not quit sure how well it would do as an
on-the-fly converter--I'm mostly using it to batch convert a bunch of XML
finding aids, so that they are ready when needed. A Perl XSL processor
would certainly be nice...