Re: jade with multiple input files? how about ESIS input?

Subject: Re: jade with multiple input files? how about ESIS input?
From: "W. Eliot Kimber" <eliot@xxxxxxxxxx>
Date: Tue, 16 Dec 1997 22:52:39 -0600
At 02:17 PM 12/16/97 -0600, James.W Wilson wrote:
>     Hi, I'm working on using jade for converting sgml to rtf (maybe more 
>     formats later). We've got a big dtd (about 178k) and a lot of little 
>     files (mainly < 2k). Is there a way to tell jade to process a lot of 
>     files at once, so it doesn't have to read in the dtd and style sheet 
>     every time? jade [blah blah] *.sgm only processes the first file. 

Why use explicit declarations at all?  I just tried processing a document
with no DOCTYPE declaration with Jade and got the "will process without
validation" message. I think it's safe to surmise that a future version of
Jade will include a fully XML-aware version of SP, which will mean you need
only include those declarations actually required for correct processing of
the documents (such as attribute defaults and entity declarations).  Should
significantly speed up processing.  This is, after all, one of the promises
of XML.

Another possible approach would be to use a common architecture for all the
documents and then hack Jade to keep the internal form of the architectural
DTD in memory between runs.  Probably wouldn't be that hard to do, but I've
no idea how one might go about it. If the architecture is the same as the
original DTD (e.g., you use the same declarations), then you'll get the
same validation benefit without having to worry about declaration changes
from document-to-document (because the architectural DTD isn't a syntactic
part of the document).  For example, you might have something like this:

 <!-- Declare architectural meta-DTD and use of architecture as defined
      in ISO/IEC 10744:1997, Annex A.3. -->
 <?ArcBase MyDoc >
 <!NOTATION SGML PUBLIC "ISO 8879//NOTATION Standard Generalized Markup
Language//EN" >
 <!ENTITY myDoc.meta-DTD SYSTEM "mydoc.dtd" CDATA SGML >
 <!NOTATION myDoc PUBLIC "-//ME//NOTATION My Document Type//EN" >
     arcDTD  CDATA #FIXED "myDoc.meta-DTD"
     arcDocF NAME #FIXED "MyDoc"

Which you would then process with Jade using the -A flag:

jade -AMyDoc -dmydoc.dsl -trtf mydoc.sgm

This will work today, although the architectural meta-DTD will be reloaded
on each invocation (a hacked version could possibly avoid that).  With
today's Jade, you'd need to still have the necessary declarations for the
local document, but I'm presuming that a not-too-distant future version
will let you omit some or all of the declarations (as allowed by XML and
SGML with the Web Annex).

Of course, if you have a lot of small documents but a big DTD, it suggests
that you really have a lot of small DTDs with a common set of elements and
that another good solution might be to tailor the declarations to fit the
documents. You might use your big DTD as the common architecture from which
the different documents' are derived, although my guess is that the DTD is
big because it represents a union of specializations, rather than a large
set of general element types.  This suggests that you have a relatively
simple common architecture from which the different documents are
specialized.  But I'm just guessing from the slim evidence at hand.


<Address HyTime=bibloc>
W. Eliot Kimber, Senior Consulting SGML Engineer
Highland Consulting, a division of ISOGEN International Corp.
2200 N. Lamar St., Suite 230, Dallas, TX 95202.  214.953.0004

 DSSSList info and archive:

Current Thread
  • jade with multiple input files? how about ESIS input?
    • James.W Wilson - from mail1.ability.netby (8.8.5/8.6.12) with ESMTP id OAA08451Tue, 16 Dec 1997 14:15:15 -0500 (EST)
      • Paul Prescod - from mail1.ability.netby (8.8.5/8.6.12) with ESMTP id VAA10529Tue, 16 Dec 1997 21:54:15 -0500 (EST)
      • <Possible follow-ups>
      • W. Eliot Kimber - from mail1.ability.netby (8.8.5/8.6.12) with ESMTP id XAA11021Tue, 16 Dec 1997 23:58:44 -0500 (EST) <=