Adobe FrameMaker 8.0 User guide

  • Hello! I am an AI chatbot trained to assist you with the Adobe FrameMaker 8.0 User guide. I’ve already reviewed the document and can help you find the information you need or explain it in simple terms. Just ask your questions, and providing more details will help me assist you more effectively!
ADOBE FRAMEMAKER 8
STRUCTURE APPLICATION DEVELOPER GUIDE
© 2007 Adobe Systems Incorporated and its licensors. All rights reserved.
Structure Application Developer Guide Online Manual
If this guide is distributed with software that includes an end-user agreement, this guide, as well as the software
described in it, is furnished under license and may be used or copied only in accordance with the terms of such license.
Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written
permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law
even if it is not distributed with software that includes an end-user license agreement.
The content of this guide is furnished for informational use only, is subject to change without notice, and should not be
construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility
or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.
Please remember that existing artwork or images that you may want to include in your project may be protected under
copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of
the copyright owner. Please be sure to obtain any permission required from the copyright owner.
Any references to company names in sample templates are for demonstration purposes only and are not intended to
refer to any actual organization.
Adobe, the Adobe logo, Acrobat, Distiller, Flash, FrameMaker, Illustrator, PageMaker, Photoshop, PostScript, Reader,
Garamond, Kozuka Mincho, Kozuka Gothic, MinionPro, and MyriadPro are trademarks of Adobe Systems Incorporated.
Microsoft, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries. Solaris is a trademark or registered trademark of Sun Microsystems, Inc. in the
United States and other countries. UNIX is a trademark in the United States and other countries, licensed exclusively
through X/Open Company, Ltd. SVG is a trademark of the World Wide Web Consortium; marks of the W3C are
registered and held by its host institutions MIT, INRIA, and Keio. All other trademarks are the property of their respective
owners.
This product contains either BISAFE and/or TIPEM software by RSA Data Security, Inc.
This product contains color data and/or the Licensed Trademark of The Focoltone Colour System.
PANTONE® Colors displayed in the software application or in the user documentation may not match PANTONE-
identified standards. Consult current PANTONE Color Publications for accurate color. PANTONE® and other Pantone, Inc.
trademarks are property of Pantone, Inc. © Pantone, Inc. 2003. Pantone, Inc. is the copyright owner of color data and/or
software which are licensed to Adobe Systems Incorporated to distribute for use only in combination with Adobe
Illustrator. PANTONE Color Data and/or Software shall not be copied onto another disk or into memory unless as part of
the execution of Adobe Illustrator software.
Software is produced under Dainippon Ink and Chemicals Inc.'s copyrights of color-data-base derived from Sample
Books.
This product contains ImageStream® Graphics and Presentation Filters Copyright ©1991-1996 Inso Corporation and/or
Outside In® Viewer Technology ©1992-1996 Inso Corporation. All Rights Reserved.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
Certain Spelling portions of this product is based on Proximity Linguistic Technology. ©Copyright 1990 Merriam-
Webster Inc. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc.
Burlington, New Jersey USA. ©Copyright 2003 Franklin Electronic Publishers Inc.©Copyright 2003 All rights reserved.
Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. Legal Supplement
©Copyright 1990/1994 Merriam-Webster Inc./Franklin Electronic Publishers Inc. ©Copyright 1994 All rights reserved.
Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990/
1994 Merriam- Webster Inc./Franklin Electronic Publishers Inc. ©Copyright 1997All rights reserved. Proximity
Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA ©Copyright 1990 Merriam-
Webster Inc. ©Copyright 1993 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc.
Burlington, New Jersey USA. ©Copyright 2004 Franklin Electronic Publishers Inc. ©Copyright 2004 All rights reserved.
Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1991 Dr.
Lluis de Yzaguirre I Maura ©Copyright 1991 All rights reserved. Proximity Technology A Division of Franklin Electronic
Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Munksgaard International Publishers Ltd. ©Copyright
1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey
USA. ©Copyright 1990 Van Dale Lexicografie bv ©Copyright 1990 All rights reserved. Proximity Technology A Division
of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1995 Van Dale Lexicografie bv
©Copyright 1996 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington,
New Jersey USA. ©Copyright 1990 IDE a.s. ©Copyright 1990 All rights reserved. Proximity Technology A Division of
Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1992 Hachette/Franklin Electronic
Publishers Inc. ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers,
Inc. Burlington, New Jersey USA. ©Copyright 1991 Text & Satz Datentechnik ©Copyright 1991 All rights reserved.
Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2004
Bertelsmann Lexikon Verlag ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic
Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2004 MorphoLogic Inc. ©Copyright 2004 All rights reserved.
Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990
William Collins Sons & Co. Ltd. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin
Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1993-95 Russicon Company Ltd. ©Copyright 1995
All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA.
©Copyright 2004 IDE a.s. ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic
Publishers, Inc. Burlington, New Jersey USA. The Hyphenation portion of this product is based on Proximity Linguistic
Technology. ©Copyright 2003 Franklin Electronic Publishers Inc.©Copyright 2003 All rights reserved. Proximity
Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1984 William
Collins Sons & Co. Ltd. ©Copyright 1988 All rights reserved. Proximity Technology A Division of Franklin Electronic
Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Munksgaard International Publishers Ltd. ©Copyright
1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey
USA. ©Copyright 1997 Van Dale Lexicografie bv ©Copyright 1997 All rights reserved. Proximity Technology A Division
of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1984 Editions Fernand Nathan
©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington,
New Jersey USA. ©Copyright 1983 S Fischer Verlag ©Copyright 1997 All rights reserved. Proximity Technology A
Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1989 Zanichelli ©Copyright 1989
All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA.
©Copyright 1989 IDE a.s. ©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic
Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Espasa-Calpe ©Copyright 1990 All rights reserved.
Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1989
C.A. Stromberg AB. ©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic
Publishers, Inc. Burlington, New Jersey USA.
Portions of Adobe Acrobat include technology used under license from Autonomy, and are copyrighted.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.
Notice to U.S. government end users. The software and documentation are “Commercial Items,” as that term is defined
at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software
Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48
C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and
Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as
Commercial items and (b) with only those rights as are granted to all other end users pursuant to the terms and
conditions herein. Unpublished-rights reserved under the copyright laws of the United States. For U.S. Government End
Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of
Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38
USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1
through 60-60, 60-250, and 60- 741. The affirmative action clause and regulations contained in the preceding sentence
shall be incorporated by reference.
Structure Application Developer Guide v
Contents
Before You Begin .........................1
Part I FrameMaker Structure Application Quick Start
Chapter 1 Quick Start overview .................... 9
Create a new structure template .......9
Create your first XML application.......9
..................9
Chapter 2 Create a new structure template ...............11
Prerequisites.............11
The Structured Template.........11
The template document........11
The Element Definition Document......13
A simple document structure......13
Deploy the template.........35
Next steps.............35
Chapter 3 Create your first XML application ...............37
Define the XML application........37
Define the read/write rules........38
Create a DTD.............39
Update the application definition.....40
Update the structured template......40
Save as XML.............40
XML error logs...........41
Working with XML files .........42
Next steps..............42
Part II Developing a FrameMaker Structure Application
Chapter 4 Developing Markup Publishing Applications ..........45
Markup applications ..........45
Understanding markup applications....46
Applying formatting to markup......47
Markup editing and publishing applications . 48
Developing Adobe FrameMaker structure applications
49
FrameMaker editing philosophy.....49
Tasks in FrameMaker application development 49
vi
The analysis phase..........50
Defining structure..........50
The design phase ..........52
Implementing the application......53
Testing..............53
Training and support.........53
Maintenance............53
The implementation team........53
Technical steps in FrameMaker application
development.............54
Element definition documents (EDD)....54
Structured templates.........55
Moving data between markup and FrameMaker 56
Customizing markup import/export....58
Structure application files........60
Legacy documents..........62
Application delivery .........62
Typical application development scenarios . . . 63
Starting from existing markup documents . . 63
Building a new application.......66
Working with legacy documents.....67
Chapter 5 Structure Application Basics .................69
Where to begin............69
Structure application scenarios.......69
Translating in one or two directions?....69
Can you simplify when translating in only one
direction?.............70
Do you have an existing element definition? . 70
Structure application development.....71
The starting point: an EDD, DTD, or Schema. . 73
Translation between DTDs and EDDs....73
Formatting information in FrameMaker . . . 73
Changing the default translation.....74
How you modify the translation .....74
What your end users do........74
Chapter 6 A General Comparison of Markup and FrameMaker Documents...77
Structure descriptions..........77
FrameMaker EDDs..........77
XML and SGML DTDs.........77
Elements..............78
FrameMaker element types.......79
XML and SGML elements........79
Element declarations and definitions....80
Attributes..............81
Entities...............81
Documents..............82
Markup documents..........82
FrameMaker documents........83
Multiple-file documents.........83
Format rules.............83
Graphics..............84
Equations..............84
Tables...............85
Cross-references............85
Processing instructions.........86
Parameter entity declarations.......86
Chapter 7 The XML and FrameMaker Models...............89
Element and attribute definition ......89 Supported characters in element and attribute
names..............89
Structure Application Developer Guide vii
Multiple attribute lists for an element....90
Namespace declaration .........90
Rubi text..............91
Unicode and character encodings......91
Supported encodings.........91
FrameMaker display encodings......92
Encoding for XML files.........93
Chapter 8 The SGML and FrameMaker Models ..............95
SGML declaration ...........95
SGML features with no counterparts.....95
Marked sections and conditional text.....95
Unsupported optional SGML features.....96
Chapter 9 Creating a Structure Application ...............97
The development process.........98
Task 1. Producing an initial EDD and DTD. . . 98
Task 2. Getting sample documents.....101
Task 3. Creating read/write rules......103
Task 4. Finishing your application.....107
For more information.........108
Pieces of a structure application.......109
Application definition file........109
External DTD subset..........109
SGML declaration ..........110
FrameMaker template.........110
Read/write rules document.......110
Entity catalogs...........110
Documentation...........111
Creating a FrameMaker template......111
Cross-reference formats........111
Variables.............113
Special text flows to format generated lists and
indexes..............114
HTML mapping for export .......115
Chapter 10 Working with Special Files .................119
Location of structure files.........119
Application definition file.........120
Editing a structured application definition
document.............121
Log files...............122
Generating log files..........122
Messages in a log file.........122
Using hypertext links.........123
Setting the length of a log file......123
Other special files...........123
Part III Working with an EDD
Chapter 11 Developing an Element Definition Document (EDD) .......127
In this chapter.............127
Overview of the development process....128
Creating or updating an EDD from a DTD....129
About the DTD...........129
Read/write rules and the new EDD.....129
Creating an EDD from a DTD.......130
viii
What happens during translation.....130
Updating an EDD from a DTD ......131
Log files for a translated DTD.......131
Creating or updating an EDD from an XML Schema .
132
Starting an EDD without using a DTD.....132
Creating a new EDD..........132
Exporting an Element Catalog to a new EDD . 132
The Element Catalog in an EDD.......133
High-level elements..........133
All elements in the catalog.......135
Defining preliminary settings in an EDD....141
Specifying whether to create formats automatically
141
Specifying whether to transfer HTML mapping
tables ..............141
Setting a structure application......142
Organizing and commenting an EDD.....143
Writing element definitions........144
About element tags..........144
Guidelines for writing element definitions . . 145
Defining a container, table or footnote element 145
Defining a Rubi group element......150
Defining an object element.......151
Keyboard shortcuts for working in an EDD . . . 154
Editing structure...........154
Moving around the structure ......155
Creating an Element Catalog in a template . . . 155
Importing element definitions......156
Log files for imported element definitions . . 156
Debugging element definitions......156
Saving an EDD as a DTD for export......157
Read/write rules and the new DTD.....157
Creating a DTD from an EDD.......158
What happens during translation.....158
SGML declarations..........159
Log files for a translated EDD ......159
Sample documents and EDDs.......160
Chapter 12 Structure Rules for Containers, Tables, and Footnotes ......161
In this chapter.............161
Overview of EDD structure rules.......162
Writing an EDD general rule........163
Syntax of a general rule for EDD elements . . 164
Restrictions on general rules for tables . . . 166
Default general rules for EDD elements . . . 167
Specifying validity at the highest level in a flow . 168
Adding inclusions and exclusions......169
Inclusions.............169
Exclusions.............170
How content rules translate to markup data . . 170
Inserting descendants automatically in containers 171
Inserting table parts automatically in tables . . 173
Initial structure pattern........173
Default initial structure ........175
Inserting Rubi elements automatically in Rubi groups
175
Initial structure pattern........176
Debugging structure rules........176
Chapter 13 Attribute Definitions ...................177
In this chapter.............177
Some uses of attributes .........177
How an end user works with attributes....178
Writing attribute definitions for an element. . . 179
Attribute name...........180
Attribute type............180
Structure Application Developer Guide ix
Specification for a Required or Optional value . 181
Hidden and Read-only attributes.....182
List of values for Choice attributes.....183
Range of values for numeric attributes . . . 183
Default value............184
Using UniqueID and IDReference attributes. . . 184
UniqueID attributes..........186
IDReference attributes.........187
Using attributes to format elements.....188
Using attributes to provide a prefix or suffix . . 190
Chapter 14 Text Format Rules for Containers, Tables, and Footnotes .....193
In this chapter.............193
Overview of text format rules .......194
How elements inherit formatting information . . 195
The general case...........195
Inheritance in a table or footnote.....198
Inheritance in a document within a book. . . 199
Specifying an element paragraph format....200
Writing context-dependent format rules....200
Defining the formatting changes in a rule . . . 201
Paragraph formatting.........201
Text range formatting.........202
No additional formatting........203
Specifications for individual format properties . . 204
Basic properties...........206
Font properties...........208
Pagination properties.........210
Numbering properties.........211
Advanced properties.........212
Table Cell properties.........213
Asian Text Spacing properties......213
Writing first and last format rules......214
How first and last rules are applied.....215
A first or last rule with an autonumber . . . 215
Defining prefixes and suffixes.......216
How prefix and suffix format rules are applied . 217
A prefix or suffix for a text range.....217
A prefix or suffix for a paragraph.....218
A prefix or suffix for a sequence of paragraphs . 218
A prefix or suffix for a text range or a paragraph 219
Attributes in a prefix or suffix rule.....220
When to use an autonumber, prefix or suffix, or
first or last rule............221
Defining a format change list.......222
Setting minimum and maximum limits on properties
223
Debugging text format rules........225
Chapter 15 Object Format Rules....................227
In this chapter.............227
Overview of object format rules.......228
Context specifications for object format rules . . 229
Setting a table format..........229
Specifying a graphic content type......230
Setting a marker type..........231
Setting a cross-reference format......232
Setting an equation size.........233
Specifying a system variable........234
Debugging object format rules.......235
Chapter 16 Context Specification Rules .................239
In this chapter.............239 All-contexts rules...........239
x
Context-specific rules..........239
Defining a context..........240
Wildcards for ancestors.........240
OR indicators............241
Sibling indicators...........241
Attribute indicators..........242
Order of context clauses........243
Level rules..............244
Using the current element in the count . . . 245
Stopping the count at an ancestor.....246
Nested format rules...........246
Multiple format rules..........247
Context labels ............248
Part IV Translating Between Markup Data and FrameMaker
Chapter 17 Introduction to Translating between Markup Data and FrameMaker .
253
In this chapter.............253
What you can do with read/write rules....253
What you can do with structure API clients . . . 254
A detailed example...........255
DTD fragment............255
Document instance..........256
EDD fragment ...........257
Formatting and read/write rules.....258
FrameMaker document........258
Opening XML documents.........259
Chapter 18 Read/Write Rules and Their
Syntax .............................261
In this chapter.............261
The rules document...........261
Rule order..............262
Rule syntax..............263
Case conventions ...........264
Strings and constants..........264
String syntax............264
Constant syntax...........265
Variables in strings..........265
Comments..............265
Include files.............266
Reserved element names.........266
Commands for working with a rules document . 267
Chapter 19 Saving EDD Formatting Information as a CSS Stylesheet .....269
In this chapter.............269
Default translation...........269
Comparison of EDD format rules and CSS . . 270
Differences in translation........274
Generating a CSS ...........276
Generating a CSS on command......276
Generating a CSS on Save As XML.....277
Structure Application Developer Guide xi
Chapter 20 Translating Elements and Their Attributes...........281
In this chapter.............281
Default translation...........282
Translating model groups and general rules. . 282
Translating attributes .........283
Naming elements and attributes.....285
Inclusions and exclusions........287
Line breaks and record ends.......287
Modifications to the default translation....288
Renaming elements..........288
Renaming attributes .........289
Renaming attribute values .......290
Translating a markup element to a footnote
element..............290
Translating a markup element to a Rubi group
element..............291
Changing declared content of a markup element
associated with a text-only element....292
Retaining content but not structure of an element
293
Retaining structure but not content of an element
294
Formatting an element as a boxed set of paragraphs
294
Suppressing the display of an element’s content .
294
Discarding a markup or FrameMaker element . 295
Discarding a markup or FrameMaker attribute . 296
Specifying a default value for an attribute . . 296
Changing an attribute’s type or declared value. 297
Creating read-only attributes ......298
Using markup attributes to specify FrameMaker
formatting information........299
Chapter 21 Translating Entities and Processing Instructions ........301
In this chapter.............301
Default translation...........302
On export to markup.........302
On import to FrameMaker........305
Modifications to the default translation....311
Specifying the location of entity declarations . 312
Renaming entities that become variables . . 312
Translating entity references on import and export
313
Translating entities as FrameMaker variables . 314
Translating SDATA entities as special characters in
FrameMaker............314
Translating SDATA entities as FrameMaker text
insets...............316
Translating SDATA entities as FrameMaker reference
elements.............318
Translating external text entities as text insets . 319
Translating internal text entities as text insets . 319
Changing the structure and formatting of a text
inset on import...........320
Discarding external data entity references . . 322
Translating ISO public entities......322
Facilitating entry of special characters that translate
as entities.............322
Creating book components from general entities.
323
Discarding unknown processing instructions . 323
Using entities for storing graphics or equations 323
Chapter 22 Translating Tables ....................325
In this chapter.............325
Default translation...........326
On import to FrameMaker .......326
On export to markup.........329
xii
Modifications to the default translation....330
Specifying a table element in Schema....330
Formatting properties for tables......331
Identifying and renaming table parts....334
Representing FrameMaker table properties as
attributes in markup .........335
Representing FrameMaker table properties
implicitly in markup..........336
Adding format rules that use CALS attributes (CALS
only)...............337
Working with colspecs and spanspecs (CALS only)
338
Specifying which part of a table a row or cell occurs
in................338
Specifying which column a table cell occurs in. 339
Omitting explicit representation of table parts. 340
Creating parts of a table even when those parts
have no content...........343
Specifying the ruling style for a table....345
Exporting table widths proportionally . . . 345
Creating vertical straddles.......346
Using a table to format an element as a boxed set of
paragraphs ............349
Creating tables inside other tables.....351
Rotating tables on the page.......351
Chapter 23 Translating Graphics and Equations .............353
In this chapter.............353
Default translation...........354
Supported graphic file formats......354
General import and export of graphic elements 355
On export to markup.........356
On import to FrameMaker........363
Modifications to the default translation....365
Identifying and renaming graphic and equation
elements.............365
Specifying a graphic or equation element in
Schema..............366
Exporting graphic and equation elements . . 367
Representing the internal structure of equations .
369
Renaming markup attributes that correspond to
graphic properties ..........369
Omitting representation of graphic properties in
markup..............370
Omitting optional elements and attributes from the
default DTD declarations........371
Specifying the data content notation on export 372
Changing the name of the graphic file on export .
373
Changing the file format of the graphic file on
export..............374
Specifying the entity name on export....376
Changing how FrameMaker writes out the size of a
graphic..............378
Chapter 24 Translating Cross-References ................379
In this chapter.............379
Default translation...........379
On export to markup.........380
On import to FrameMaker........381
Modifications to the default translation....382
Translating markup elements as FrameMaker
cross-reference elements........382
Specifying a cross-reference element in Schema .
383
Renaming the markup attributes used with cross-
references.............383
Translating FrameMaker cross-reference elements
to text in markup ..........384
Maintaining attribute values with FrameMaker 385
Structure Application Developer Guide xiii
Translating external cross-references to and from
XML...............385
Chapter 25 Translating Variables and System Variable Elements ......387
In this chapter.............387
Default translation...........387
On export to markup.........388
On import to FrameMaker........389
Modifications to the default translation....389
Renaming or changing the type of entities when
translating to variables.........390
Translating markup elements as system variable
elements.............391
Translating FrameMaker system variable elements
to text in markup ..........392
Translating FrameMaker variables as SDATA entities
392
Discarding FrameMaker variables.....392
Chapter 26 Translating Markers....................393
In this chapter.............393
Default translation...........394
On export to markup.........394
On import to FrameMaker........395
Modifications to the default translation....395
Translating markup elements as FrameMaker
marker elements...........395
Specifying a marker element in Schema . . . 396
Writing marker text as element content instead of as
an attribute............396
Using markup attributes and FrameMaker
properties to identify markers......396
Discarding non-element FrameMaker markers . 397
Chapter 27 Translating Conditional Text ................399
In this chapter.............399
Default translation...........399
Condition settings..........400
Conditional text...........400
On export to markup.........401
On import to FrameMaker .......402
Modifications to the default translation....402
Chapter 28 Processing Multiple Files as Books ..............403
In this chapter.............403
Default translation...........404
On import to FrameMaker........404
On export to markup.........406
Modifications to the default translation....407
Using elements to identify book components on
import..............407
Suppressing the creation of processing instructions
for a book on export.........409
Chapter 29 Additional XSL Transformation for XML ............411
In this chapter.............411 Overview of XSL translation for XML.....411
xiv
Specifying an XSL file for import or export . . . 412
Specifying an XSL file in XML ......412
Specifying an XSL file in a structure application 412
Applying XSL transformations.......413
XSLT errors..............414
Index ..............................415
Structure Application Developer Guide 1
Before You Begin
This developers guide and its associated reference manual are for anybody who develops
structured FrameMaker® templates and XML or SGML applications. They are not written for end
users who author structured documents that use such templates and applications. For
FrameMaker 8, the structure application documentation has been re-worked for ease of use.
XML and SGML
FrameMaker can read and write XML (Extensible Markup Language) and SGML (Standard
Generalized Markup Language) documents. XML and SGML are both document markup
languages, and FrameMaker handles these markup languages in similar ways. However, there are
differences between the two, and this manual covers these differences whenever necessary.
When discussing the similarities between them, this manual refers to XML and SGML data as
markup data or markup documents. Otherwise, the manual refers to XML and SGML specifically to
draw attention to the differences between these markup languages. The majority of new
structured documentation projects are XML based, therefore XML now takes precedence over
SGML where necessary.
Developing structured FrameMaker templates
End users of FrameMaker can read, edit, format, and write structured documents—the structure
is represented by a hierarchical tree of elements. Each structured document is based on a
template that contains a catalog of element definitions. Each element definition can describe the
valid contexts for an element instance, and the formatting of element instances in various
contexts.
To support these end users, you create the catalog and accompanying structured template.
Developing XML and SGML applications
When FrameMaker reads markup data, it displays that data as a formatted, structured document.
When the software saves a structured FrameMaker document, the software can write the
document as XML or SGML.
For the end user, this process of translation between FrameMaker documents and markup data is
transparent and automatic. However, for most XML or SGML document types, the translation
requires an XML or SGML application to manage the translation. You develop this application to
correspond with specific document types. When your end user opens a markup document with a
Before You Begin 2
matching document type, FrameMaker invokes the appropriate structure application. If there is no
match for a document type, the user can choose the application to use, or open the markup
document with no structure application.
A structure application primarily consists of the following:
A structured template
A DTD or schema
Read/Write rules (described in this manual)
XSLT stylesheets for pre and post process transformations (if necessary)
An XML and SGML API client (if necessary) which is developed with the Frame® Developers Kit
(FDK)
Prerequisites
The following topics, which are outside the scope of this manual, are important for you to
understand before you try to create a structured template or structure application:
Structured document authoring in FrameMaker
XML or SGML concepts and syntax, including how to work with a document type definition
FrameMaker end-user concepts and command syntax
FrameMaker template design
In creating some XML or SGML applications, you may also need to understand the following:
XSLT 1.0
C programming
FDK API usage
If your application requires only the special rules described in this manual to modify the default
behavior of FrameMaker, you do not need programming skills. However, if you need to create an
XML and SGML API client to modify this behavior further, you need to program the client in C,
using the FDK. This manual does not discuss the creation of XML and SGML API clients. For this
information, see the Structure Import/Export API Programmer’s Guide.
Using FrameMaker documentation
FrameMaker comes with a complete set of end-user and developer documentation with which
you should be familiar. If you use the Frame Developers Kit in creating your structure application,
you will also need to be familiar with the FDK documentation set.
Structure Application Developer Guide 3
Using this manual
This manual is divided into four major parts. Each part begins with a short introduction in which
you can find information about specific chapters in that part.
If you are creating a structure application, you should read the first three chapters of Part II before
reading the remainder of the manual. You will then find information you need in the other three
parts.
If you are not working with markup data but are creating a structured template, you will need only
Part III.
The parts are as follows:
Part I, “FrameMaker Structure Application Quick Start”
Part I has been designed to give developers an easy way to create a simple structure
application. Once these simple step-by-step instructions are followed, it will be easier to get the
best out of the remainder of this developer guide.
Part II, “Developing a FrameMaker Structure Application
Part II is for developers of XML or SGML structure applications. This part contains the following
sections:
Introductory information
An overview of the steps in creating a structure application
A comparison of FrameMaker concepts and XML and SGML
Details of assembling the pieces of an application into a whole
Part III, “Working with an EDD
Part III is for developers of FrameMaker structured templates. It describes how to use an
element definition document (EDD) to define elements and determine their formatting for your
documents. Use this part together with chapters in the Adobe FrameMaker 8 User Guide that
describe other aspects of template creation.
Part IV, “Translating Between Markup Data and FrameMaker”
Part IV is for developers of structure applications. This part describes the model and the rules
you use to modify the default translation between markup documents and FrameMaker
documents
Before You Begin 4
Typographical conventions
Using other FrameMaker documentation
The Adobe FrameMaker 8 User Guide makes up the primary end-user documentation for this
product. It explains how to use the FrameMaker authoring environment for both structured and
unstructured documents. It also explains how to create templates for your documents.
In creating a structured template, you can refer to this manual for information on how your end
user interacts with the product and how to create a formatted template.
New features and changes since release 8 (including those for structure applications and
structured documents) are listed and briefly described in the Adobe FrameMaker 8 Release Notes.
You will also find a range of other online documents if you select Help > Quick Start > Manuals...
Using FDK manuals
If you create an XML and SGML API client for your XML or SGML application, youll need to be
familiar with the FDK. FDK documentation is written for developers with C programming
experience.
FDK Programmer’s Guide is your manual for understanding FDK basics. This manual describes
how to use the FDK to enhance the functionality of FrameMaker and describes how to use the
FDK to work with structured documents. (To make advanced modifications to the softwares
default translation behavior, refer to the Structure Import/Export API Programmer’s Guide.)
Monospaced font Literal values and code, such as XML, SGML, read/write
rules, filenames, and path names.
Italics Variables or placeholders in code. For example, in
name="myName", the text myName represents a value you
are expected to supply. Also indicates the first occurrence
of a new term.
Blue underlined text
A hyperlink you can click to go to a related section in this
book or to a URL in your web browser.
Sans-serif bold The names of FrameMaker User Interface objects (menus,
menu items, and buttons). The > symbol is used as
shorthand notation for navigating to menu items and sub
menus. For example, Element > Validate... refers to the
Validate... item in the Element menu.
Structure Application Developer Guide 5
FDK Programmer’s Reference is a reference for the functions and objects described in the FDK
Programmers Guide.
An FDK Supplement adds information about FDK features that have been changed or added
since the release of FrameMaker 8.
Structure Import/Export API Programmers Guide explains how to use the FDK to make advanced
modifications to the softwares default behavior for translation between markup documents
and FrameMaker documents. This manual contains both descriptive and reference information.
For information on other FDK manuals, see “Using Frame Developer Tools” in the FDK
Programmers Guide.
Before You Begin 6
/