[Date Prev][Date Next] [Thread Prev][Thread Next]
[Date Index] [Thread Index] [New search]

Re: [FrameSGML] Text Inset Bug in FM+SGML 6.0 and 5.5



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.   **