In unstructured FrameMaker, setting up an authoring environment requires only a template file. The template file defines the formats and the styles and a style guide defines how to work correctly with the template. In structured FrameMaker, you require more than just a structured template.
To establish a basic structured authoring environment in FrameMaker, you require an EDD or a DTD. You can create custom EDDs and DTDs or use off-the-shelf EDDs and DTDs. Additionally, you need to link the element definitions with formatting information. You can link elements in the EDD to formatting in three ways:
You can assign formatting based on the various tags (paragraph tags, character tags, and so on) in a template. If you already have a formatting template, you can reuse information in that template.
Format change lists
You can create named formatting definitions in the EDD. The format change lists let you provide partial formatting specifications and inherit the rest from a few base paragraph tags. You can reuse format change lists for related elements.
You can specify formatting by writing the formatting into each element definition.
After you create the EDD and the formatting, you combine the two components to create a single structured template. To create the structured template, you open the formatting template and import element definitions (File > Import > Element Definitions) from the EDD. The resulting file is your structured template.
Apart from the EDD and the structured template, you also need:
The read/write rules control translation from FrameMaker structure to XML and back. Specifically, read/write rules help manage table translation and other complex formatting.
The structured application lists all of the component files in your structure implementation and provides configuration information. For example, you can use the structured application to specify whether and how to export conditional text tagging.
All FrameMaker structured applications require a structured template. Structured FrameMaker templates contain definitions of all the elements that can be used in the document as well as the document’s page layout and formatting.
Structured templates are like unstructured templates with the most obvious difference being the Elements catalog.
The Elements catalog displays the element definitions defined in the EDD. To create a structured document as a first step, you import the definitions from either an EDD or a DTD. The element definitions in an EDD or DTD are populated in the Elements catalog. You use the Elements catalog to insert valid elements in your document and build a structure that complies with the rules in the EDD.
The term content analysis describes a process in which you review existing documents to understand how they are designed and what implicit structure they contain. Begin your analysis by making a list of the documents your organization produces. Your list might include user guides, reference guides, white papers, tutorials, training manuals, and online help. Make a list of the major components for each document type. For each component, list whether the item is required, optional, and how often it occurs in that document. The following table shows a high-level analysis for a book:
Table of contents
For major components, such as lessons (for training manuals) or chapters (for books), work your way down the document hierarchy into smaller and smaller chunks, until you reach the bottom level of the hierarchy.
You must do a content analysis for every document type you want to create in your structured environment. Once you have developed a content model for each document, you can look for opportunities to refine the model and reuse names. For example, suppose that a Help deliverable consists of topics and the chapters in a book also consist of topics. If you create a Topic element that is usable for both printed and online materials, you can minimize the number of elements in your structure definition and perhaps reuse information in both output formats.
Can contain Para, List, Table, Graphic, Note
Can contain Para, List, Table
Can contain Para, List, Table, Graphic, Note
It’s unlikely that your documents are perfectly consistent. You need to decide whether to create a structure that is loose (allowing many variations) or strict (very few variations are permitted). You will have problems at both ends of the spectrum:
It’s very difficult to find the right balance between these two extremes. One approach is to allow variations only where they add value.
Note: A similar problem occurs when creating unstructured FrameMaker templates. You want to minimize the number of tags that must be maintained while providing all of the tags that are needed to create your content.
Once the analysis is complete, you can decide whether to use an existing structure or to build your own. Numerous XML implementations are available; DocBook and the Darwin Information Typing Architecture (DITA) are specifications used for technical documentation. Standard structures are also defined for military documents (mil-specs or mil-standards), aircraft maintenance manuals, and others. The following table describes some of the factors that influence whether you will use a standard specification or build your own structure.
You are required to deliver content that follows the standard. For example, many U.S. military contractors are required to deliver documentation that follows a published standard
You want to create a structure that matches your content analysis precisely.
Your content requirements closely match an existing structure. You only need to make minimal changes to the standard structure.
Your content analysis indicates that your information does not match existing structures very well.
You do not want to spend a significant amount of time building a structure, and you are willing to change the organization of your content to fit it into an existing structure.
The structure needs to match the content precisely.
A longer implementation period is an acceptable cost to ensure you can build exactly what you need
You do not have the technical expertise or resources available to build your own structure.
You have resources available, whether in-house or as consultants, who can build the structure.
The basic building blocks of structured documents are elements. Elements represent pieces of a document's content (its text, graphics, and so on) and together make up the document's structure. Elements can be simple elements or complex elements.
A simple element in XML contains just text. A complex element can have attributes and can:
Elements can have values within a specified range of valid values.
All structured documents in FrameMaker use elements. Each element has a name, or tag, such as , , or
. The element tags that are available are determined by the document element definitions.
Attributes supply additional information about an element. For example, the DTD designer for a manual could use an attribute called version for its book element to allow the user to specify a book’s revision status. In FrameMaker, the attributes for an element are a part of the definition of the element itself. In XML or SGML, the attributes of an element occur separately in an attribute definition list declaration (ATTLIST) in the DTD.
Attributes can have a default value or a fixed value. Attributes can also be either mandatory or optional. For example, if you have a topic element, the topic ID could be a mandatory attribute for topics being cross-referenced. You can also have value ranges for attributes or enumerate the legal values for an attribute.
Following seven rules control how the elements are used in terms of their sequence, number of occurrences, and group.
Indicates that child elements can appear in any sequence but must appear at least once.
Indicates one or the other child element can occur.
Indicates the order in which the child elements appear.
Indicates the minimum number of times a child element can occur.
Indicates the maximum number of times a child element can occur.
Elements can be grouped under a group declaration.
Attributes can be grouped under an attributeGroup declaration.
An XML schema defines the legal building blocks of an XML document. Unlike the EDD, DTDs and schema files do not provide formatting information.
XML schemas define the following:
XML namespaces allow the same document to contain XML elements and attributes taken from different vocabularies, without naming collisions.
Opening or importing a schema
You can import an XML document that references a schema file, and you can specify a schema file in your structure application to use for validating a document upon export to XML.
To specify a schema file for use in exporting to XML, modify the structapps.fm file. The element schema, a child of the XMLApplication element, specifies the schema file path for export.
Learn how to create EDD’s in FrameMaker by choosing appropriate strategy.
An EDD is a structured document. Use the structured editing features to create and edit the EDD.
The EDD contains both structural rules for the document (Document Type Definition or DTD) and styling rules, which dictate how elements of a specific type are styled. An application developer generally creates the EDD from an existing DTD file or from scratch. For more information, see the Structured Application Developer Reference guide.
Following are the basic steps to get started with structured authoring in FrameMaker.
Before building the proposal template, analyze existing proposals to identify their components. Based on this analysis, you create a content map. The proposal example results in the following sequence:
Note: You could probably build the EDD for this simple example without formal content analysis. For larger projects, though, content analysis is critical.
You can build an EDD in multiple ways:
Based on the content analysis, you can now create the proposal EDD.
Note: The EDD is itself a structured FrameMaker document. You use the same guided editing environment to create the EDD that you use to edit other structured documents.
Note: Element names cannot contain spaces.The element is complete. You must now provide definitions for each of the child elements: , , , and .
Element | General Rule |
---|---|
ProjectDescription | Title, Para+ |
Cost | Title, Para+ |
Schedule | Title, Para+ |
Title | (Type the word TEXT with angle brackets around it.) |
Para | (Type the word TEXT with angle brackets around it.) |
You have now built an EDD that provides the structure for a simple proposal. However, when you type content, no formatting is applied.
The following section describes how to provide formatting, and how to automatically insert the correct text for the various titles. By default, text uses the Body paragraph tag.
Note: Like the paragraph tags, the information you enter is case-sensitive and space-sensitive. For example, “Heading1” is not the same as “heading1” or “Heading 1.”
Next, add a prefix rule to the element. Prefix rules let you specify text that should appear at the beginning of the element. Based on the Title’s position, you’ll specify which text should be displayed.
To test the EDD, you import it into a document and then verify that you can create the structure you expect. At this point, the document does not have any formatting, but you can still verify the structure.
Note: If your EDD is not displayed in the list, make sure that the EDD file is open and that you have saved it. Until you save a document, it is not available in this list.
Note: If your structure is incorrect, go back to your EDD, correct it, and then reimport the element definitions. You can also check your EDD against the online proposal_edd, which is available at the Adobe website, www.adobe.com/go/lr_FrameMaker_support_en.
Learn how to create a Document Type Definitions from an EDD in FrameMaker.
DTDs or Document Type Definitions define the elements that you can include in a structured document. It defines the elements, their attributes, order of elements and what elements can contain other elements.
The DTD is now ready to be used.
Learn how you can build a structured application in FrameMaker.
To enable XML import and export for structured proposals, you need to set up a structured application, which lists the components of the structured authoring environment.
First, you need to create a document type definition (DTD) that matches the EDD.
You also need a structured template that contains formatting and EDD information.
Now, you are ready to configure the structured application.
$STRUCTDIR/proposal/proposal.dtd
$STRUCTDIR/proposal/proposal_template.fm
Note: To verify that the application is installed correctly, select Structure > Set Structured Application to display the Set Structured Application dialog box. If you set up the applications definitions correctly, Proposal appears in the drop-down list object.
Finally, you need to copy the application files into the directory where the structured application definition expects them.
Decide whether to use an existing standard or create your own structure.
You now have the two structure definition files you need—one for FrameMaker (EDD) and one for XML (DTD).
Note: FrameMaker includes several variations of DocBook as sample structured applications. If you plan to create DocBook-based structure, consider modifying one of the provided applications.
Once you have your structure definitions, you need to set up the structured application.
After setting up the application, you’ll want to fine-tune the import/export settings.
The Structured Application Designer allows you to create a structured application using a graphical wizard.
To launch the Structured Application Designer , click Structure > Structured Application Designer . The Structured Application Designer is displayed as follows:
Structured Application DesignerTo create a read/write Rule file, based on an existing DTD, specify the DTD and click New from the RW Rules section. The read/write Rule File Maker is then displayed.
Note: If you do not specify a DTD, an empty read/write Rule File is created. You can then add rules using the read/write Rule File Maker.
FrameMaker includes a powerful read/write Rule File Maker that helps you author rules easily. This helps simplify rule generation, since you have all the settings at one place, and do not have to remember any rule syntax.
To launch the read/write Rule File Maker, choose Structure > Read/Write Rules > New Read/Write Rules . Select the Launch Rule File Maker option and click OK .
Note: Optionally, you can specify the DTD to be used when creating the rules.The Rule File Maker dialog is displayed as follows:
Rule File MakerThe Rule File Maker has two basic sections:
The Import-Export Settings section is divided into four sections:
The Export Only Settings section is divided into three sections:
When saving the rules, FrameMaker saves only the elements and the rules that have been modified (modified elements have their values marked in bold, on the right pane). Default behaviors are not saved.
Know how to test XML round tripping in FrameMaker.
Once you have configured the structured application, you can test XML roundtripping.
Every structured application has a configuration file that defines the behavior of the structured application. Learn how to use the Configuration File editor in FrameMaker.
Every structured application may include an XML configuration file. The configuration file is optional and contains attributes and their suggested and default values. To call the editor, choose Element > Launch Config File Maker .
When opening a structured application, FrameMaker reads the corresponding configuration file (if it exists) and populates the attribute values automatically.
The attribute editor allows you to change these values, when using the structured application.
The Configuration File Settings dialog is displayed as follows:
Configuration File SettingsUnderstand the relationship between an XML document and Cascading Style Sheets (CSS2) file in structured FrameMaker.
When an XML document is opened in FrameMaker, FrameMaker processes the Cascading Style Sheets 2 (CSS2) by mapping the CSS information to appropriate EDD rules in the EDD document.
The following scenarios describe the processing of CSS2 in FrameMaker:
Note: An XML file opened in FrameMaker can contain multiple CSS files. FrameMaker supports the author’s style sheet only, and not the user’s style sheet.
You can import element formatting from CSS into EDD to ensure consistent formatting across different XML applications. The CSS file can be referenced in the XML document or manually imported. Multiple CSS files can be imported sequentially for multi-level formatting.
When importing element styles, FrameMaker retains the context information (element property or selector) from the CSS and imports it into the appropriate EDD contexts.
Note: FrameMaker imports style information only at the element level.You can also set CSS preferences in XML using Structured FrameMaker. For more information, see the Developing Structured Applications with AdobeFrameMaker.
The CSS file is imported into the EDD file.
Note: If the EDD already contains formatting rules, the CSS properties are appended to the existing rules. If the CSS properties overlap some of the existing rules, the CSS properties replace the existing rules in the EDD. The EDD doesn’t support all properties and selectors defined in CSS 2.0. If a property or selector in the CSS file can’t be mapped to an equivalent EDD rule, that property or selector is ignored. No error is displayed when this happens, and no error log is created.
After importing the CSS styles, you can import element definitions from the EDD into a template and use the template to open an XML file.
As an alternative to the CSS import process, you can use FrameMaker to open an XML file that already has CSS styles associated with it. When you open the XML file, FrameMaker reads the DTD and CSS files and generates a temporary template that is used to open the XML file.
You can export XML style information available in your document for all elements using the Cascading Style Sheets 2 (CSS2) format, to an EDD file. You can then import these CSS Style definitions from the EDD file to new XML files. Cascading Style Sheets let authors attach styles, such as fonts and spacing, to structured XML files. CSS2 format is a W3C standard.
When you choose the Generate CSS2 command, styles from well-formed structured documents are generated, based on the formatting information available in the EDD associated with the source document. FrameMaker exports style information only at the element level. For example, if you apply a style to only one particular word in the Text element, that one instance of style is not exported.
You can set CSS 2 preferences in the XML application. For example, you can determine whether the CSS 2 file is automatically generated when you export to XML. For more information, see the online manual Developing Structured Applications with AdobeFrameMaker.
See what is XML with schema and understand the schema workflow in FrameMaker. See XML namespaces in FrameMaker.
FrameMaker allows you to import XML markup documents that are associated with W3C's XML Schema language. FrameMaker automatically creates a DTD and EDD from the schema. FrameMaker validates the document structure against the associated schema upon both import and export to XML, but does not retain all schema information upon export.
For complete details of how schema is mapped to DTD, see the Structure Application Developer Referenceguide.
Note: This release offers support for schema that is equivalent to what was previously available for DTD. That is, EDD has not been extended to accommodate features in schema that are not available in DTD. For this reason, schemas are read-only, and you cannot export the EDD back out to schema.
You can import an XML document that references a schema file, and you can specify a schema file in your structure application, to use for validating a document upon export to XML.
In this workflow, a DTD is generated automatically as an intermediary file from the schema given in the XML document, and you do not modify it. However, you can also use a schema file to generate an EDD; see Generate an element catalog (EDD) from a schema.
The new element , a child of the element, specifies the path of a schema file in the structapps.fm structure application file. If instance documents use namespaces, the property in must be set to true .
In order for a structure application to be selectable in the Use Structured Application list while importing a document that is associated with a schema, the schema’s root element must be included in the application’s in the element.
You can create an EDD from a schema definition, or import the elements from a schema definition into an existing EDD. FrameMaker converts the schema definition to DTD first, and then creates or imports elements to an EDD.
Use the following commands in the Structure > Schema menu:
Each command opens a File Choose dialog box that allows you to specify the schema file, then a Save dialog box in which you specify where to save the resulting DTD file.
An XML namespace is a collection of names for specific element types and attribute names within an XML document. The scope of a namespace extends beyond its containing document.
Because a single XML document can contain elements and attributes that can be used by multiple software applications, you can use namespaces to differentiate which elements and attributes are to be used by which applications. Software applications that process XML use namespaces to recognize which tags and attributes they are designed to process.
Names from XML namespaces may appear as qualified names, which contain a single colon, separating the name into a namespace prefix and a local part. The prefix, which is mapped to a Uniform Resource Identifier (URI) reference, selects a namespace. The combination of the universally managed URI namespace and the document's own namespace produces identifiers that are universally unique.
FrameMaker supports namespace usage for all elements in an XML document. When you import an XML document containing namespaces, all namespace information is preserved.
You can view, edit, add, or delete namespaces to an XML document in Structured FrameMaker using the Namespaces command. You can also use this command to view the definition of the prefix on an element tag and select the element that defines the prefix.
By default, namespaces in FrameMaker are handled as namespaces, appearing in the Namespaces dialog box. However, you can disable namespaces in the application and have them handled as attributes instead, appearing in the Structure View .
Note: Elements that contain namespaces appear in Structure View with an asterisk (*) next to their names.