Standardize Formatting Across Documents and DTDs with Modular FOSIs Suzanne Napoleon FOSIexpert, LLC...

24
Standardize Formatting Across Documents and DTDs with Modular FOSIs Suzanne Napoleon FOSIexpert, LLC www.FOSIexpert.com

Transcript of Standardize Formatting Across Documents and DTDs with Modular FOSIs Suzanne Napoleon FOSIexpert, LLC...

Standardize Formatting Across Documents and DTDs with Modular FOSIsSuzanne NapoleonFOSIexpert, LLC

www.FOSIexpert.com

Join the conversation!

Event hashtag is #PTCUSER10

The Challenge: Standardize Formatting

• Organizations mandate standardized formatting in order to safeguard corporate identity branding

• However, documents, DTDs, and formatting specs change over time

• When there are multiple FOSIs, the same edits must be made to all FOSIs affected by the changes

• This approach is time-consuming and error-prone

The Solution: Modular FOSIs

• Common formatting is coded in FOSI modules

• Individual FOSIs reference the appropriate modules

• When a module is edited, all FOSIs that reference that module are changed

• This approach makes it much easier to maintain standardized formatting over time

The Technical Details

• A FOSI is an SGML document that adheres to the OutSpec DTD

• SGML file entities can be used in a FOSI

• A FOSI module is an SGML file entity

The Process

1. Review each FOSI and create charsubsets, pseudo-elements, and/or text entities, as appropriate, for any common code within a FOSI

2. Compare all FOSIs to determine which share common formatting

The Process, continued

3. Develop a naming convention for FOSIs and modules that makes their purpose obvious

4. Use .ent extension for modules to facilitate searching the file system

Examples:

– basic-charsubsets.ent

– A4-pagesets.ent

– list-counters.ent

The Process, continued

5. Code the “desc”s directly in the .fos files:

– rsrcdesc

– secdesc

– pagedesc

– styldesc

– ftndesc

The Process, continued

6. Code FOSI-specific formatting directly in each .fos file

For example:

– Code warning.txt=“Warning” in Book-English.fos

– Code warning.txt=“Warnung” in Book-German.fos

The Process, continued

7. Make as many file entities as needed for the following FOSI components and name them appropriately:

hyphrule docdesc

charfill charsubset

counter envdesc

stringdecl e-i-c

floatloc footnote

pageset ftnatt

sectoken

Create File Entity

create_file_entity (cfe) creates a file entity with the

selected content, prompts for the name of the entity and the file name or Public IC, and inserts the entity into the document

Declare File Entity

declare_file_entity (dfe) prompts for the name of the entity and the file name or the Public ID for the entity to be created

File Entities Dialog

Entities in .fos Files

<!ENTITY std-charfills SYSTEM "std-charfills.ent"><!ENTITY std-counters SYSTEM "std-counters.ent"><!ENTITY std-stringdecls SYSTEM "std-stringdecls.ent"><!ENTITY std-pagesets SYSTEM "std-pagesets.ent"><!ENTITY std-charsubsets SYSTEM "std-charsubsets.ent"><!ENTITY seriesA-charsubsets SYSTEM "seriesA-charsubsets.ent">

<!ENTITY seriesA-docdesc SYSTEM "seriesA-docdesc.ent"><!ENTITY std-eics SYSTEM "std-eics.ent"><!ENTITY seriesA-eics SYSTEM "seriesA-eics.ent"><!ENTITY std-footnote SYSTEM "std-footnote.ent"><!ENTITY std-ftnatts SYSTEM "std-ftnatts.ent">

Entities in the Tagged FOSI Editor

• Insert references to the appropriate modules into each .fos file

The Process, continued

8. Compile each FOSI to incorporate changes

– Changes are not reflected in the FOSIs until they are compiled

The Process, continued

9. Document the modules referenced by each FOSI

Be sure to update this documentation whenever you:

– Modify a module

– Add or delete references to a module

Tips

• Alphabetize counters, strings, e-i-c’s, charsubsets, etc., before creating FOSI modules

• Alphabetize counters, strings, etc., in modules

• Compile frequently while developing modules

– Detect context errors sooner rather than later

• Format test documents regularly and look for unintended formatting changes

Tips, continued

• Keep the documentation up to date: Modular FOSIs are only as good as their documentation

“WYSIWYG is last-century technology!”

Questions?