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: <!DOCTYPE MyDoc [ <!-- 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" > <!ATTLIST #NOTATION arcDTD CDATA #FIXED "myDoc.meta-DTD" arcDocF NAME #FIXED "MyDoc" > ]> <MyDoc> ... </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. Cheers, Eliot -- <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 www.isogen.com </Address> DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: jade with multiple input files?, Paul Prescod | Thread | arguements, LINARESA |
Re: jade with multiple input files?, Paul Prescod | Date | Re: none, Henry Thompson |
Month |