[Date Prev][Date Next]
[Thread Prev][Thread Next]
[Date Index]
[Thread Index]
[New search]
To: edunn@xxxxxxxxxxxxxxxxxxxxxxxx, "Lynne A. Price" <lprice@xxxxxxxxxxxx>, Framers@xxxxxxxxxxxxxx, Framers@xxxxxxxxx, "FrameSGML List" <FrameSGML@xxxxxxxxxxx>
Subject: Re: [FrameSGML] Text Inset Bug in FM+SGML 6.0 and 5.5
From: Dan Emory <danemory@xxxxxxxxxxxx>
Date: Tue, 31 Jul 2001 15:04:36 -0700
In-Reply-To: <85256A9A.006A8D7C.00@btg_hub01.bombardier.com>
Sender: owner-framers@xxxxxxxxx
At 03:23 PM 7/31/01 -0400, edunn@transport.bombardier.com wrote: >While I hesitate to say anything against Lynne's advice, I would >discourage the >use of the last option: > > >>c) Define a new element (say TextInset) to be used as the highest-level > >> element of text insets. Allow it anywhere in the destination document. > > >From experience I can guarantee that if this element is available it will be >used for evil purposes. Any kind of overall element like this gives the >mischievous minions that are to use the DTD an easy way to contravene the >intended structure. You will soon find that invalid structures have been >wrapped >with TextInset to form valid (although incorrect) ones. > >Already you'll find that any and all excessive permissiveness will be >exploited >by users. It's dangerous to give them such a huge loop hole. ==================================================== Although I agree with edunn that such "wrapper" elements should not be "allowed anywhere in the destination document", I strongly disagree with his conclusion that they ought not to be used at all Such fragment wrappers do not have to create the problems he describes, and are very useful for a variety of reasons. For example, many high-level element content models have this typical form: ElementA, ElementB, (Para | List | Table | Graphic | etc.)+ Typically, the "kitchen sink" set of elements within the parentheses appear in many content models. If I change the content model to be: ElementA, ElementB, (FragWrapper | Para | List | Table | Graphic | etc.)+ and define the content model for new element FragWrapper (valid at the highest level) to be: (Para | List | Table | Graphic | etc.)+ I have not opened up the can of worms he describes. This allows FragWrapper to be used for creating standalone text insets which can be inserted anywhere that its children are allowed without using FragWrapper. Of equal importance the same FragWrapper element can be used to encapsulate any chunk of information you want to be able to retrieve from an SGML/XML database repository, use as atext inset or SDATA entity, manage the versioning of, reuse, or otherwise manage or retrieve independently of the document(s) in which they reside. To accomplish this, the FragWrapper element is metadata-enriched in the form of attributes, much in the same way that XML utilizes RDFs (Resource Description Frameworks) for the same purposes. I discuss this at some length in a paper entitled "FM+SGML Information Design" which is available on Shlomo Peretz's website, http://www.microtype.com/ When the home page opens, click on the Resources link, and scroll down to "Dan Emory's Articles." You'll find it listed there. ==================== | Nullius in Verba | ==================== Dan Emory, Dan Emory & Associates FrameMaker/FrameMaker+SGML Document Design & Database Publishing Voice/Fax: 949-722-8971 E-Mail: danemory@primenet.com 177 Riverside Ave., STE F, #1151, Newport Beach, CA 92663 ---Subscribe to the "Free Framers" list by sending a message to majordomo@omsys.com with "subscribe framers" (no quotes) in the body. ** To unsubscribe, send a message to majordomo@omsys.com ** ** with "unsubscribe framers" (no quotes) in the body. **