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

Re: FM to FM+SGML



At 10:57 AM 10/7/99 -0400, Campbell, Art wrote:
>I'm going to have to convert from plain FM to FM+SGML; the process is going
>to involve converting several existing docs...
>
>Does anyone who has done this have any tips, tricks, traps they'd be willing
>to share?
========================================================================
1. Read the Structure Rules Tables Appendix in the Developer's Guide. Then
read it several more times. You must thoroughly understand the syntax of DTD
content models/EDD general rules, and how that syntax is used in structure
rules tables.

2. Conversion won't work unless the unstructured document is consistently
tagged.

3. Successful conversion is more likely if the DTD/EDD is relatively simple.

4. If DTD/EDD element names describe information types, but the tagging of
the unstructured doc does not distinguish between those information types,
the conversion is going to fail unless you re-tag the unstructured doc
before conversion. For example: A number of paragraphs use the same
paragraph tag but those paragraphs have to be wrapped in many different
elements based on their information type. In this type of DTD/EDD,
information type differentiation is not usually based on context, thus you
will not be able to convert successfully unless you retag the unstructured
doc to reflect the different information types before converting it.

5. Although FM+SGML doesn't care, you should, to facilitate management of
the structure rules development process, organize the structure rules into
different tables for different categories/context levels.

6. To complete the conversion process, you must always import the element
definitions and format rules of a "real" EDD into the converted document.
Then, you must complete the conversion process by using FM+SGML's validation
function, and tweaking things until the document is valid.

7. Since there is no way for structure rules tables to specify attribute
values, the structure will be invalid until required attributes are given
values. For attributes that are not required, the EDD should specify a
default value wherever possible, particularly if there are
attribute-value-dependent format rules in the EDD.  You can use Find/Replace
to find all occurrences of a particular attribute, and (optionally) apply a
single value to all such occurrences.

8. Sometimes, the most effective way to convert is to define a
pseudo-DTD/EDD that mirrors the way in which the unstructured doc is
actually tagged. The structure rules tables define the names and contexts of
the elements in this pseudo-DTD. Then, after the conversion, you import into
the converted document the element definitions from a "real" EDD, and
manually complete the conversion process by using FM+SGML's split, merge,
change, wrap, and unwrap functions, combined with the capability to find and
rename elements with Find/Replace. You might even go through several
iterations of this process before arriving at a structure that conforms to
the target EDD.

9. Thoroughly document and proceduralize the conversion process (including
all post-conversion clean-up work) as you have implemented it. Successful
conversions on large project demand good documentation, including complete
step-by-step procedures. 

10. Despite all the above caveats, I've been able, on large projects, to
achieve conversions that are close to 90% successful on the first pass. This
success rate was achieved by carefully re-tagging the unstructured docs to
eliminate almost all one-to-many relationships, so that, at the lowest level
of structure, there is a one-to-one relationship between tags and elements.
In other words, I do all the grunt work before, not after, the conversion.



     ====================
     | 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
10044 Adams Ave. #208, Huntington Beach, CA 92646
---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.   **