FinerEdge Publisher Support Documents

FinerEdge Publisher IDE Manual (this document).
FinerEdge Publisher Reference Manual.
FinerEdge Publisher Demonstration Tutorial.
FinerEdge Publisher Author's Guide.
FinerEdge Publisher Programmer's Guide.
FinerEdge Publisher Updates and Acknowledgments.

FinerEdge® Publisher IDE Manual
Version 4.5.160301.0
FinerEdge Software

Copyright © 2016 FinerEdge Software. All rights reserved.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of FinerEdge Software.

The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by FinerEdge Software. FinerEdge Software assumes no responsibility or liability for any errors or inaccuracies that may appear in this manual. The software described in this manual is furnished under license and may only be used or copied in accordance with the terms of such license.

FinerEdge Publisher is a trademark of FinerEdge Software. Windows, .NET, C#, and Visual Basic are registered trademarks of Microsoft Corporation. Java is a registered trademark of Sun Microsystems, Inc. PostScript is a registered trademarks of Adobe Systems Incorporated. HTML is a trademark of the World Wide Web Consortium (W3C). XML and CSS are trademarks of the Massachusetts Institute of Technology (MIT) and are used by the World Wide Web Consortium (W3C). All other brand or product names are the trademarks or registered trademarks of their respective owners.


Contents


Contents

Chapter 1 - Introduction
   Overview

Chapter 2 - General IDE Topics
   IDE Views
   Application Menu
   Home Tab
   Form Tab
   View Tab
   Style Split Button
   Help Split Button

Chapter 3 - Visual Designer/Markup Views
   Entity Explorer/Entity Tabs
   Content Menu and Toolbar
   Process Menu and Toolbar

Chapter 4 - Visual Designer
   Overview
   Visual Elements
   Navigation
   Editing
   Tables

Chapter 5 - Markup Designer
   Overview
   Keyboard/Mouse Commands
   Auto-Completion
   Search Results
   Debug Menu and Toolbar
   Debug Watch Explorer

Chapter 6 - Document Generation
   Overview
   Edit Menu/Toolbar
   Generate Menu/Toolbar
   Keyboard/Mouse Commands

Chapter 7 - Form Definition
   Overview
   Form Elements
   Content Menu and Toolbar
   Navigation and Editing

Chapter 8 - Form Generation
   Overview
   Generate Menu/Toolbar

Chapter 9 - IDE Dialogs
   HeaderFooter
   Catalog
   Chart
   Check/Radio (Form)
   Check List
   Col/ColGroup
   Content
   Content Tag
   DOCX Options
   Edit (Form)
   Entity Change
   Entity Properties
   EPUB Options
   Expression
   File
   Find/Replace (Entity)
   Find/Replace (Global)
   Find (Visual)
   For
   ForEach
   Form (Form)
   Group/Label (Form)
   HTML Paged Options
   Image (Form)
   Import
   Insert Characters
   List (Form)
   Logic/Process
   Mark
   Method Definition
   New Document
   Option
   Outline
   PageRule
   Page/Column Break
   Plot
   Preferences Document Tab
   Preferences Environment Tab
   Preferences IDE Tab
   PS/PDF Fonts
   PS/PDF Options
   Recordset
   SeriesData
   Set (Variable)
   Style Border Tab
   Style Box Tab
   Style Image Tab
   Style Font Tab
   Style Page Tab
   Style Position Tab
   Style Reference Tab
   Style Text Tab
   Styles Definition
   SVG
   Table
   Use Method
   Variable (Output)
   XMLData Editor

Chapter 10 - Database Definitions and Query Editor
   Query Editor
   Generate Options (Query)
   Parameters (Query)
   Rules (Query)
   SQL Expression
   XML Associations

Chapter 1 - Introduction
Overview
FinerEdge Publisher is a revolutionary XML-based "Document Rendering Engine" that is built from the ground up and based upon the latest standards and technologies that are in-use today. FinerEdge Publisher consists of a number of "interface components" which, in turn, call the FinerEdge Publisher document rendering engine to create output in cross-platform, industry standard formats. Note: All FinerEdge Publisher components and interfaces are multi-threaded capable (i.e., thread-safe).

The FinerEdge Publisher Integrated Development Environment (IDE) is an all-in-one development center for FinerEdge documents, forms, processes, and data import specifications. All documents, forms, processes, and data imports can be created, updated, verified, and generated from while working within the framework provided by the FinerEdge Publisher IDE.

» Back to the Table of Contents. «


Chapter 2 - General IDE Topics
IDE Views
The FinerEdge Publisher IDE has five separate and distinct "views" that each serve different purposes, along with their respective functions. Only the visual definition and the markup definition have elements in common (i.e., the visual definition and markup definition are different yet compliment each other). A document author can easily switch between the five views by pressing any one of the five corresponding "Display" buttons in the ribbon.

Visual definition
Activates the Visual Designer, which allows a document to be created and updated in a WYSIWYG environment. Note: The Markup definition view below shows the same document (and all document and module entities) in their textual representation.
Markup definition
Activates the Markup Editor, which allows a document to be created and updated in a markup environment. Note: The Visual definition view above shows the same document (and all document and module entities) in their WYSIWYG representation.
Document generation
Generates the currently opened document. The generated document is shown within this view along with options that allow the document to be output in various commonly known cross-media formats.
Form definition
Activates the Form Designer, which allows a form to be created and updated in a WYSIWYG environment. Forms are encapsulated by a corresponding "Process" and used as a front-end data input mechanism to drive documents control document generation. Processes, forms, and documents can simultaneously be generated and utilized in GUI, Active Server Pages (ASP), and Java Server Pages environments.
Form generation
Generates and tests the currently opened process and form for a particular document in a GUI environment. It can also generate .NET Web Pages (ASPX) and .NET Razor Pages (CSHTML), and be from the Form definition view.
» Back to the Table of Contents. «

Application Menu
The FinerEdge Publisher application menu (i.e. in the upper left of the window with the FP icon) contains general document functions that are common to all five views of the IDE. The following table presents each of the application menu functions along with a description of each function.

Create
Create either a new document and main method element, a new document and attached database definition, or a new document based upon an existing XML data file. For more information, please refer to the topic New Document within this manual.
Open
Open an existing document while automatically closing the currently loaded document. If any modifications are pending, the user is asked if they wish to save the applicable entities.
Close
Close the currently shown entity of this document. Note: The base entity of a document may not be closed. A right mouse-click will also invoke a popup menu that allows the currently shown entity to be closed.
Close all except
Close all opened entities of this document except the base entity and the currently selected entity. If the currently selected entity is the base entity, all entities except the base entity are closed.
Save
Save all preferences, document entities, and form definitions that have been modified.
Print
Format and print the textual representation of the elements within currently active entity.
Redo
Revert back to the previously saved version of the currently shown entity for this document.
Preferences
Shows the IDE user preferences dialog, which allows preferences that are common to all views of the IDE to be read and updated. For more information, please refer to the topic Preferences within this manual.
Exit
Exit (quit) the IDE application.
Exit and reset docking
Exit (quit) the IDE application and reset the docking to default the next time the application is started.
» Back to the Table of Contents. «

Home Tab
The "Home" tab contains the most common IDE functions, including functions that allow users to quickly switch between the document generation views previously discussed. The following table presents each of the Home tab functions along with a description of each function.

Visual definition
Activates the Visual WYSIWYG Designer view. For more information, please refer to the topic "IDE Views".
Markup definition
Activates the Markup Editor view. For more information, please refer to the topic "IDE Views".
Document generation
Generated the document if necessary and activates the document generation view. For more information, please refer to the topic "IDE Views".
Document generation (rerun)
Unconditionally generates the document and activates the document generation view.
Catalog
Invoke the catalog editor to edit the currently active catalog file. For more information, please refer to the topic Catalog editor within this manual.
Rewrap
Rewraps the lines of the currently shown entity at the specified column. Uppercase tag names are by default converted to lowercase tag names, unless this option is checked off.
Cut
Cut (i.e., copy to the clipboard and delete) the currently selected elements. For additional information relating to cutting elements in the visual designer view (and specifically within the scope of a table), please refer to the chapter Visual Designer within this manual.
Copy
Copy to the clipboard the currently selected elements. For additional information relating to copying elements in the visual designer view (and specifically within the scope of a table), please refer to the chapter Visual Designer within this manual.
Paste
Paste elements previously cut or copied elements just prior to the currently selected element or insertion point. For additional information relating to pasting elements in the visual designer view (and specifically within the scope of a table), please refer to the chapter Visual Designer within this manual.
Find/Replace (Entity)
Find and/or replace text within the currently active entity. Allows either a standard text phrase or a POSIX compliant regular expression to be entered.
Find/Replace (Global)
Find and/or replace text in either all entities of a document or just currently opened entities. Allows either a standard text phrase or a POSIX compliant regular expression to be entered.
Go Position
Go to the position within the entity for the current search results selection.
Edit element
Invoke the corresponding dialog (if applicable) to allow the element to be edited within a visual form along with all form fields prefilled. When the edit dialog is successfully completed (i.e., not canceled), the element is formatted and copied back into the currently active view. This function will also be invoked when the user double-clicks on any element from within the visual designer or markup views. For additional information relating to the various edit dialogs, please refer to the chapter IDE Dialogs within this manual.
Delete element
Delete the currently selected element or range of elements. When a single element is deleted within the visual designer view, the element and all embedded elements will be deleted. When a single element is deleted within the markup view, both the beginning and ending elements (if applicable) will be deleted.
Undo
Undo the last operation. This is a multi-level undo and may be repeatedly invoked to back out changes made to the markup but prior to a save being performed.
Step line
Process the current element shown by the right arrow symbol and pause prior to processing the next element.
Step breakpoint
Continue to process the document until the next breakpoint is seen or the end of the document is reached (i.e., the main method is exited).
Stop debug
Discontinue or halt document processing (i.e., no document output will be generated).
Add watch
Show a dialog that allows a variable name or expression to be added. The currently selected text of the markup editor is pre-filled into the expression field of the dialog. The button to the right of the expression field invokes the Expression editor.
Breakpoint
Sets a debugging breakpoint for the currently shown entity on the line displaying the insertion point. Breakpoints can be set for any of the entities within a document, but are discarded when a new document is opened (loaded). If a breakpoint is already set for the line, it will be reset (removed). Breakpoints are shown as small (default red) circles within the left-hand margin for the respective entities. For additional information, please refer to the topic "Debug Menu and Toolbar".
» Back to the Table of Contents. «

Form Tab
The "Form" tab contains the IDE functions relating to form definition and generation, which may be optionally used with documents. The following table presents each of the Form tab functions along with a description of each function.

Form definition
Activates the form definition view. For more information, please refer to the topic "IDE Views".
Form generation
Activates the form generation view. For more information, please refer to the topic "IDE Views".
» Back to the Table of Contents. «

View Tab
The "View" tab allows a user to activate and deactive various toolbars and windows depending upon the view selected. Toolbars and windows that are unrelated to the currently active view are shown as disabled.

» Back to the Table of Contents. «

Style Split Button
The "Style" split button menu contains various styles that the IDE supports. A submenu of colorful styles under "Office 2007" are also supported. After docking has been manually reset (i.e., an "Exit" option), the style reverts to "Visual Studio 2008".

» Back to the Table of Contents. «

Help Split Button
The "Help" split button menu contains functions that invoke on-line help for the user. In addition, all dialogs that are formally part of the IDE contain a "Help" button that invoke on-line help specifically for that dialog, including a description of all fields within the particular dialog. The following table presents each of the Help menu functions along with a description of each function.

IDE Manual (default)
Invoke the user's Browser to display the IDE manual.
Reference Manual
Invoke the user's Browser to display the FinerEdge Publisher reference manual.
Demonstration Tutorial
Invoke the user's Browser to display the FinerEdge Publisher demonstration tutorial.
Document Author's Guide
Invoke the user's Browser to display the FinerEdge Publisher document author's guide.
Programmer's Guide
Invoke the user's Browser to display the FinerEdge Publisher programmer's guide.
Updates and Acknowledgements
Invoke the user's Browser to display the FinerEdge Publisher updates and acknowledgements.
About the IDE
Show a dialog box that depicts general information about the IDE including its version.
» Back to the Table of Contents. «


Chapter 3 - Visual Designer/Markup Views
Entity Explorer/Entity Tabs
The IDE entity explorer is normally located on the right-hand side of both the visual designer and markup views. The entity explorer may be enlarged or contracted horizontally by clicking and dragging the divider on the left side of the entity explorer. Within the entity explorer, a hierarchical map of the currently opened document is shown as a vertically-oriented visual tree structure, with the root (i.e., the first item shown in the visual tree) being the document entity. To the right of the root and extending down the entity explorer are the second level module entities. Any third level module entities are shown to the right of their respective second level module entities and so on. To the right and underneath each module entity, the methods that exist within the respective module entities are also shown.

The entities and their methods may be visually expanded and collapsed by selecting the corresponding +/- small buttons displayed in the entity explorer's tree. In addition, a particular entity can be opened either by selecting the entity and then pressing the "Open" button at the bottom left of the entity explorer or by double-clicking on the entity itself. If a specific method is opened in the same manner just described while in the markup view, the selected method will additionally be located after the entity has been displayed. Also if the selected entity is currently open, the entity will simply be made the active entity, exactly as if the user had clicked on the entity's corresponding tab located at the bottom of both the visual designer and markup views.

When either a new or existing document is opened (via the main menu File New or Open functions) the main document entity is always shown as a tab at the bottom of both the visual designer and markup views. Likewise, when a module entity is opened from the entity explorer in the manner previously described, it is also shown as a separate tab at bottom of both the visual designer and markup views. The user can easily switch between opened entities by selecting the appropriate tab at the bottom of the visual designer or markup view. This also implies that when the user switches between the visual designer and markup views, the same entity tabs are shown in both views. The currently active entity is simultaneously highlighted within the entity explorer and shows as a background cyan color along with a box frame behind the entity's icon.

Depending upon the visual designer or markup view being selected, the content area (i.e., main area) of the currently active tab will display either a visual (WYSIWYG) view of the entity or a markup view of the entity. If either view has been modified and the user switches to the other document definition view, the content area of the applicable tab will be updated so that the open entities within the two views remain synchronized. The name of the entity shown in the entity explorer is also displayed within the tab itself for all open entities. Anytime an open entity has been modified (but not yet saved), an asterisk is displayed following the entity name. Finally, a right mouse click within either a tab or a tab's content area will invoke a popup menu of choices that are applicable to the view selected.

The table below discusses information relative to each of the buttons that appear at the bottom of the entity explorer.

Open
Open the selected entity.
Add/Change
When the entity selected within the entity explorer is the currently active entity, add a new entity under (i.e., one level lower in the hierarchy) the currently active entity. When the entity selected within the entity explorer is not the currently active entity, change the entity name (i.e., the internally known name) or the entity value (i.e., the externally known name). When the entity value is not specified, the entity name must refer to an entity record within the catalog. For more information, please refer to the topics Entity Change and Catalog within this manual.
Delete
Delete the currently selected entity.
Move Up
Move the currently selected entity up within the hierarchy at the same level.
Move Down
Move the currently selected entity down within the hierarchy at the same level.
Properties
Show the properties of the active entity (not the selected entity). To change the properties of an entity, the particular entity must first be opened and made the active entity (i.e., corresponding to the active tab). This is because any properties that are changed will modify the stored entity itself. For more information, please refer to the topic Entity Properties within this manual.
» Back to the Table of Contents. «

Content Menu and Toolbar
This topic describes Content menu information that is common to both the visual designer and markup views. Content menu information that is unique to either the visual designer or markup views are described in their respective chapters Visual Designer and Markup Designer within this manual.

An associated Content toolbar is shown on the left-hand side of the visual designer and markup views. The Content toolbar simultaneously supports both standard and drag ' drop modes of operation. In the standard mode of operation, the user first selects an element within the applicable view and then invokes either a menu or toolbar function (i.e., presses the toolbar button) to insert the new element just prior to the selected element. In the drag ' drop mode of operation, the user clicks on a toolbar button and drags the button to the location where the new element should be inserted (i.e., just prior to the element where the drop occurs).

Most of the functions presented below are associated with a corresponding visual edit dialog. Elements having a corresponding edit dialog may be subsequently changed by using the procedure described by the Edit Element function of the "Edit Menu and Toolbar" topic. The following table presents each of the Content menu functions along with a description of each function.

Style
Invoke the style editor to create a style element. For more information, please refer to the topic Styles Definition within this manual.
Table
Invoke the table editor to create a table element. For more information, please refer to the topic Table within this manual.
Col
Invoke the column editor to create a col element. For more information, please refer to the topic Col/ColGroup within this manual.
ColGroup
Invoke the column editor to create a colgroup element. For more information, please refer to the topic Col/ColGroup within this manual.
THead
Invoke the thead editor to create a thead element. For more information, please refer to the topic Content within this manual.
TFoot
Invoke the tfoot editor to create a tfoot element. For more information, please refer to the topic Content within this manual.
TBody
Invoke the tbody editor to create a tbody element. For more information, please refer to the topic Content within this manual.
Tr
Invoke the tr editor to create a tr element. For more information, please refer to the topic Col within this manual.
Td
Invoke the td editor to create a td element. For more information, please refer to the topic Col within this manual.
Header
Invoke the header editor to create a header element. For more information, please refer to the topic HeaderFooter within this manual.
Footer
Invoke the footer editor to create a footer element. For more information, please refer to the topic HeaderFooter within this manual.
Div
Invoke the div editor to create a div element. For more information, please refer to the topic Content within this manual.
Span
Invoke the span editor to create a span element. For more information, please refer to the topic Content within this manual.
Br
Inserts a br element. This element has no attributes and, as such, has no corresponding edit dialog.
ColBr
Invoke the colbr editor to create a colbr element. For more information, please refer to the topic Page/Column Break within this manual.
PageBr
Invoke the pagebr editor to create a pagebr element. For more information, please refer to the topic Page/Column Break within this manual.
» Back to the Table of Contents. «

Process Menu and Toolbar
This topic describes Process menu information that is common to both the visual designer and markup views. An associated Process toolbar is shown at the bottom of the visual designer and markup views. The Process toolbar simultaneously supports both standard and drag ' drop modes of operation. In the standard mode of operation, the user first selects an element within the applicable view and then invokes either a menu or toolbar function (i.e., presses the toolbar button) to insert the new element just prior to the selected element. In the drag ' drop mode of operation, the user clicks on a toolbar button and drags the button to the location where the new element should be inserted (i.e., just prior to the element where the drop occurs).

Most of the functions presented below are associated with a corresponding visual edit dialog. Elements having a corresponding edit dialog may be subsequently changed by using the procedure described by the Edit Element function of the "Edit Menu and Toolbar" topic. The following table presents each of the Process menu functions along with a description of each function.

Method
Invoke the method editor to create a method element. For more information, please refer to the topic Method Definition within this manual.
Use
Invoke the use editor to create a use element. For more information, please refer to the topic Use Method within this manual.
Set
Invoke the set editor to create a set element. For more information, please refer to the topic Set (Variable) within this manual.
Var
Invoke the var editor to create a var element. For more information, please refer to the topic Variable (Output) within this manual.
For
Invoke the for editor to create a for element. For more information, please refer to the topic For within this manual.
ForEach
Invoke the foreach editor to create a foreach element. For more information, please refer to the topic ForEach within this manual.
While
Invoke the while editor to create a while element. For more information, please refer to the topic Logic/Process within this manual.
Exit
Invoke the exit editor to create a exit element. For more information, please refer to the topic Exit within this manual.
If
Invoke the if editor to create a if element. For more information, please refer to the topic Logic/Process within this manual.
ElseIf
Inserts an elseif element. This element has no attributes and, as such, has no corresponding edit dialog.
Else
Inserts an else element. This element has no attributes and, as such, has no corresponding edit dialog.
Select
Invoke the select editor to create a select element. For more information, please refer to the topic Logic/Process within this manual.
Case
Invoke the case editor to create a case element. For more information, please refer to the topic Logic/Process within this manual.
CData
Inserts a CDATA element. This element has no attributes and, as such, has no corresponding edit dialog.
Comment
Inserts a comment element. This element has no attributes and, as such, has no corresponding edit dialog.
Characters
Invoke the special characters editor to insert special characters or entire text fragments. For more information, please refer to the topic Insert Characters within this manual.
Mark
Invoke the mark editor to create a mark element. For more information, please refer to the topic Mark within this manual.
Content
The Content element can contain any type of content including tags or text. By default, this content is placed within a string designated by the "Variable" field. For more information, please refer to the topic ContentTag within this manual.
Import
Invoke the import editor to create a new import element. For more information, please refer to the topic Import Editor within this manual.
File
Invoke the file editor to create a new file element. For more information, please refer to the topic File Editor within this manual.
QueryData
Invoke the query editor to create a new querydata element (and possibly generate an entire document or portion of a document from a database definition). For more information, please refer to the topic Query Editor within this manual.
XMLData
Invoke the XML data editor to create a new xmldata element (and possibly generate an entire document or portion of a document from an XML data definition). For more information, please refer to the topic XMLData Editor within this manual.
Recordset
Invoke the recordset editor to create a recordset element. For more information, please refer to the topic Recordset within this manual.
SVG
The svg element prepares SVG input, from a string or file source, for subsequent processing by the Scaleable Vector Graphics engine. For more information, please refer to the topic SVG within this manual.
Chart
Invoke the chart editor to create a chart element. For more information, please refer to the topic Chart within this manual.
Plot
Invoke the plot editor to create a plot element. For more information, please refer to the topic Plot within this manual.
SeriesData
Invoke the seriesdata editor to create a seriesdata element. For more information, please refer to the topic SeriesData within this manual.
» Back to the Table of Contents. «


Chapter 4 - Visual Designer
Overview
The FinerEdge Publisher Visual Designer allows document and module entities to be created and updated within a WYSIWYG editing environment. As discussed earlier in this manual, a document consists of a base document entity and one or more module entities that exist within a hierarchy. A document hierarchy is in the form of a tree, with the document entity being the root of the tree. For more information, please refer to the topic "Entity Explorer/Entity Tabs".

Within a particular document or module entity, one or more "method" elements exist. Methods are reuseable (and callable) units containing both content and processing elements. All elements except the non-visible document element must reside within a method. One of the methods within the document entity is designated as the main method and is the first method called by FinerEdge Publisher when the document is generated. The main method may call other methods which, in turn, may call still other methods and so on.

When a particular entity of a document is opened within the visual designer, all methods that exist within that entity and their respective elements are visually depicted. Each method is oriented vertically down the entity's tab area (display space) along with both horizontal and vertical scrollbars, which allow the document author access to all visual elements. The page width specified by either a page rule or a default value is used for the horizontal extent (including page margins). An accompanying horizontal ruler is always visible at the top of the entity's tab area.

While editing a document entity in the visual designer, there is no fixed page height because the document is not being fully generated (and output in multiple cross-media formats). Instead, each reuseable method, and its embedded elements, are vertically shown in their order of appearance within the entity. Therefore, the overall page height is instead calculated dynamically but with respect to page margins and additional page-relative properties. Each method visually depicted will be shown along with a separate vertical ruler on the left-hand margin of the entity's tab area. Horizontal and vertical rulers can be switched from standard (using inches and fractions of inches) to metric (using centimeters and millimeters). For more information, please refer to the topic Preferences within this manual. » Back to the Table of Contents. «

Visual Elements
Three types of visual designer elements can exist within a particular entity's tab area as follows:

Text Elements -

The first type of element is a text element (or text fragment), which does not contain any other elements embedded within it. The text is depicted using the active font, which is set using the surrounding content elements such as div, span, table, tr, and td. When a user clicks or positions to a text element, an insertion point (blinking vertical bar) is shown. The insertion point may be repositioned by using the navigation functions and commands discussed later in this chapter. Text may also be directly added, changed, or deleted by simply typing or by using the editing functions and commands discussed later in this chapter

Content Box Elements -

The second type of element shown is depicted in a pure WYSIWYG format and includes the div, span, table, and td elements. These type of elements can be nested within each other (with respect to the rules for nesting elements) to any level desired. A small gray selectable but non-movable rectangle is always shown within any content box element, which provides a convenient placeholder for other elements to be inserted (or moved) into the content box element. When content box elements are selected, a frame appears around the element. However, Table elements also have additional visual properties that are discussed later in this chapter.

After being selected, a content box element can be repositioned (moved) by clicking and dragging it to a new location (the cursor shows as a left-right/up-down symbol when moving is permitted). Automatic scrolling will occur when dragging an element and the left-right or top-bottom of the tab area is reached. When an element is dropped onto another element, it is always inserted prior to that element along with all of the embedded elements within it. A content box element may be enlarged or shrunk both horizontally and vertically by clicking and dragging the respective handles (small black rectangles) located on the right-hand side and bottom of the selection frame. Also, the properties of selected elements may be changed by using the menu or toolbar function to Edit the element or by simply double-clicking the mouse on the element.

Content Non-Box and Process Elements -

The third type of element shown is depicted with its associated icon (as seen on the menus and toolbars) and is surrounded by a border in the color chosen for the class of element. The color for a class of elements can be changed by setting the corresponding color options. For more information, please refer to the topic Preferences within this manual. These type of elements can be nested within other content box elements. When these type of elements are selected, a frame appears around the element.

After being selected, a content non-box or process element can be repositioned (moved) by clicking and dragging it to a new location (the cursor shows as a left-right/up-down symbol when moving is permitted). Automatic scrolling will occur when dragging an element and the left-right or top-bottom of the tab area is reached. When an element is dropped onto another element, it is always inserted prior to that element. Also, the properties of selected elements may be changed by using the menu or toolbar command to Edit the element or by simply double-clicking the mouse on the element.

» Back to the Table of Contents. «

Navigation
The following table presents functions and commands that a document author may utilize while navigating the elements within a particular entity's tab area of the visual designer.

Mouse Click
Selects a particular element. A selected non-text element is shown surrounded by a frame. A text element is shown with an insertion point (i.e., a blinking vertical bar) positioned to the character corresponding to the mouse click position.
Tab/BackTab
Select either the next (Tab) or previous (BackTab) element from the currently selected element, which includes embedded elements. If the Ctrl key is held while either the Tab or BackTab is pressed, any embedded elements within the currently selected element will not be selected.
Left/Right Arrows
If the currently selected element is not a text element, the same action as a Tab/BackTab is performed. If the currently selected element is a text element, the insertion point is advanced to the next or previous character respectively. When the first or last character of a text element is reached and the left or right arrow is again pressed, the same action as a Tab/BackTab is performed.
Up/Down Arrows
If the currently selected element is not a text element, the closest element that is above or below the current element is selected. If the currently selected element is a text element, the closest character to the currently selected character on the previous or next line is selected. When the first or last line of a text element is reached and the up or down arrow is again pressed, the closest element that is above or below the current element is selected.
Multi-element select
Multiple elements can be selected either by clicking on a particular element and dragging the mouse across other elements or by selecting the starting element and simultaneously holding the Shift key while clicking the ending element. Alternatively, multiple elements can also be selected by first selecting the starting element and simultaneously holding the Shift key while pressing the left, right, up, or down arrow keys. Text ranges may be selected by using the same techniques just described. The Cut, Copy, and Paste commands operate with all types of multi-element or text selections.

Note: The visual designer will not allow multi-element selections that would compromise the integrity of the document. An example of a disallowed multi-element selection would be when the starting element for the selection is embedded within another element and the ending element lies outside of the parent element.
Table select
One or more rows or columns of a table can be selected by the using the multi-element select technique described above. However, complete table rows or columns can also be selected by using the corresponding menu and toolbar functions specifically for tables (discussed later in this chapter).
» Back to the Table of Contents. «

Editing
The following table presents functions and commands that a document author can utilize to edit the elements shown within a particular entity's tab area of the visual designer. Editing commands particular to tables are discussed later in this chapter.

Insert elements
Elements can be inserted prior to an existing element by either first selecting an element and invoking the desired menu or toolbar function or by clicking and dragging a toolbar button onto an existing element and subsequently dropping it.
Move elements
Non-text elements can be moved by first selecting the element. The cursor will change to a left-right/up-down symbol when a move is permitted. To move a selected non-text element prior to an existing element, click and drag the element to the new location and drop it onto the target element. Any embedded elements within the relocated element will also be moved. Automatic scrolling will occur when dragging an element and the left-right or top-bottom of the tab area is reached.

Note: Ranges of elements and text elements may not be moved using this technique. To move a range of elements or a portion of a text element, instead use the techniques for a multi-element selection (previously discussed) followed by the cut and paste functions described in this chapter.
Cut, Copy, Paste
Any element or range of elements can be cut or copied from an entity and subsequently pasted (perhaps many times) back into the same entity or another entity. Either the text or non-text element must first be selected using the techniques described for multi-element selection. After an element or range of elements have been selected, they may be either cut or copied from the entity by invoking the respective menu or toolbar functions. Cut or copied elements can be pasted (inserted) as many times as desired into the same entity or another entity by selecting a target element and invoking the paste menu or toolbar function.
Resize elements
A content box element can be visually resized by first selecting the desired element. Either the width or height of the element can be enlarged or shrunk by clicking and dragging on the handles (small black rectangles) located on the right-hand side and bottom of the selection frame. Any changes made to the width or height of a content box element are reflected in the corresponding width and height style properties of the element.
Element properties
Element properties can be visually edited within a customized dialog form by either first selecting the element and then invoking the Edit Element menu or toolbar function, or by double-clicking on the element.
Delete key
If the delete key is pressed while a text element is selected, the character following the insertion point will be deleted. Non-text elements can be deleted by first selecting the element and then invoking the Delete Element menu or toolbar function. Any embedded elements within the deleted element will also be deleted.

Note: Ranges of elements and text elements may not be deleted using this technique. To delete a range of elements or a portion of a text element, instead use the techniques for a multi-element selection followed by either the Delete key or the cut function described in this chapter.
Backspace key
If a text element is selected, delete the character prior to the insertion point.
Spontaneous text
If a non-text element is selected and a character is typed, a text element will be spontaneously inserted prior to the currently selected element.
Enter/Return.
If a text element is selected and the Enter/Return key is pressed, the text element will be split by inserting a Br element prior to the insertion point.
» Back to the Table of Contents. «

Tables
Table elements consist of one or more columns and one or more rows of information that are shown in tabular format. Tables vary in their look and feel based upon the designated type, which includes a Normal, AutoColBR, etc. For more information, please refer to the topic Table within this manual. Table elements also have unique properties that are in addition to the properties of other content box elements previously described in this chapter, and are discussed in the following section.

Table gridlines are dotted blue lines that delineate the columns and rows of each table. The table gridlines can be turned on and off by setting a preferences option. For more information, please refer to the topic Preferences within this manual. When a table element is selected, the blue column gridlines change to red indicating that they may be visually resized (as discussed in the following "Resize columns" information). (Note: The height of table rows are dynamically determined by the elements within that row, but may also be explicitly set to a given height by altering an element's height property.)

In the visual designer, a right click within an entity's tab or tab area show a popup menu of available functions. If a table or an element immediately inside a table is selected, an expanded popup menu is shown with additional Table functions displayed. The following information discusses functions and commands that a document author may use to edit Tables and their embedded elements as shown within a particular entity's tab area of the visual designer.

Resize columns
The columns of a table may be visually resized by first selecting the desired table. The blue dotted column grid lines are replaced by red grid lines. The user can then position the mouse over one of the red grid lines (i.e., the cursor changes to a left-right symbol) and drag the red grid line until the desired position is reached. Any changes made to the column widths are reflected in the corresponding "cols" attributes of the table element.
Create table
Invoke the Table editor to insert a Table element prior to the currently selected element. For more information, please refer to the topic Table within this manual. This function supports table creation using both the HTML tr/td model and the flexible div/colbr model (primarily used for AutoColBR tables).
Insert columns/rows
Inserts a new row or column inside of a table element. This function can be invoked from either the content menu, the left-hand side toolbar, or the popup menu when an element directly inside of the table is selected. When invoked from the left-hand side toolbar, another popup menu of choices appears to allow a row to be inserted above or below the current selection, or a column to be inserted to the left or right of the current selection. The elements of the row or column corresponding to the selection, including their attributes and properties, are used to establish the new row or column.
Select columns/rows
Selects an entire row or column inside of a table element. This function can be invoked from either the content menu, the left-hand side toolbar, or the popup menu when an element directly inside of the table is selected. When invoked from the left-hand side toolbar, another popup menu of choices appears to allow a row or column to be selected.
Delete columns/rows
Deletes an entire row or column inside of a table element. This function can be invoked from either the content menu, the left-hand side toolbar, or the popup menu when an element directly inside of the table is selected. When invoked from the left-hand side toolbar, another popup menu of choices appears to allow a row or column to be deleted.
Edit Tr element
Allows editing of the Tr element that corresponds to a selected Td element. An option allows the Tr element to be designated as a header. Header Tr elements are reformatted on each subsequent page for a table that spans multiple pages. For more information, please refer to the topic Content within this manual.
Cut, Copy, Paste
Multiple table rows and columns may be cut or copied and pasted, perhaps many times, into either this entity or another entity. These functions allow a row or column to be moved within a table by cutting specific rows or columns and performing a subsequent paste.
» Back to the Table of Contents. «


Chapter 5 - Markup Designer
Overview
The FinerEdge Publisher markup view allows document and module entities to be created and updated within a textual markup editor. As discussed earlier in this manual, a document consists of a base document entity and one or more module entities that exist within a hierarchy. A document hierarchy is in the form of a tree, with the document entity being the root of the tree. For more information, please refer to the topic "Entity Explorer/Entity Tabs".

Within a particular document or module entity, one or more "method" elements exist. Methods are reuseable (and callable) units containing both content and processing elements. All elements except the non-visible document element must reside within a method. One of the methods within the document entity is designated as the main method and is the first method called by FinerEdge Publisher when the document is generated. The main method may call other methods which, in turn, may call still other methods and so on.

When a particular entity of a document is opened within the markup editor, all methods that exist within that entity and their respective elements are textually depicted. Each method is sequentially shown in the order of its appearance within the entity along with both horizontal and vertical scrollbars, which allow the document author access to all textual elements. The markup view also makes use of colors and bold text to highlight the relevant syntactical portions of the markup elements. The colors can be changed by altering the default settings in the user preferences. For more information, please refer to the topic Preferences .

» Back to the Table of Contents. «

Keyboard/Mouse Commands
The following table discusses keyboard and mouse commands that a document author may utilize while editing elements within a particular entity's tab area of the markup view.

Mouse Click
A left button mouse click will position the insertion point (i.e., a vertical blinking line in insert mode) to the character closest to where the mouse was clicked. A right button mouse click will show an applicable popup menu of commands. If the user is currently debugging a document and a right button mouse click is performed, special debugging commands are shown in the popup menu.
Double Click
If the left button of the mouse is double-clicked over an element, a corresponding dialog is initiated to allow the element to be visually edited (i.e., all dialog fields are pre-filled with the element's attributes). When the user completes the edit dialog, the element is again formatted and copied back into the entity's tab area. A mouse double-click action performs the same function as a mouse single-click when followed by the "Edit element" menu and toolbar command. For additional information, please refer to the topic "Edit Menu and Toolbar".
Mouse Select
Click and drag the mouse to select text that will be subsequently deleted, cut, or copied.
Tab/BackTab
Advance the text following the insertion point to the next tab position or the previous tab position respectively. If multiple lines are selected, all lines will be tabbed or reverse tabbed as a unit.
Enter/Return
Split the current line at the insertion point and advance to the next line. The cursor is automatically positioned to the same column as the start of text from the previous line.
Left/Right Arrows
Advance the insertion point forward or backward one character from the current position. If the beginning or end of the line is reached and a left or right arrow key is pressed, the insertion point is advanced to the end of the previous line or the beginning of the next line respectively.
Up/Down Arrows
Advance the insertion point up or down one line respectively while attempting to maintain the same column.
Keyboard Select
Hold down the Shift key while using the Left, Right, Up, and Down arrows to select text.
Insert
Toggle between insert and overtype mode, which will also change the insertion point shape and show in the status line at the bottom of the IDE window.
Delete/Backspace
Delete the character after the insertion point or backspace over the character prior to the insertion point. If currently positioned at the end of a line and a Delete key is pressed, the next line is joined at the end of the current line. If currently at the start of a line and the Backspace key is pressed, the current line is appended to the end of the previous line. When any text is selected and either the Delete or Backspace keys are pressed, the selected text is deleted.
Home/End
Position the insertion point to the start or end of the current line respectively. If the Ctrl key is simultaneously pressed while either the Home or End keys are pressed, position to the start or end of the entity.
PageUp/PageDown
Position the insertion point up or down the number of lines shown in the entity's tab area.
F1
Show tag-relative help from the reference manual when the current document entity's insertion point is placed inside a tag (otherwise the table of contents from the reference manual is shown). Note: This is different from the normal behavior of the IDE when the F1 key is pressed, which is to show specific content from the IDE manual.
» Back to the Table of Contents. «

Auto-Completion
The following table discusses the character sequences that cause auto-completion selection lists to be shown. By using a combination of keyboard and mouse input, an item from the auto-completion list is selected and replaced into the currently active document entity at the insertion point.

Action
Keystrokes
Condition
Select a beginning or ending tag name
< or </
Invoked outside of a tag
Select an attribute name
(Space-character)
Invoked between attributes
Select an attribute value
(Space-character)
Invoked within a particular attribute's value
Select a style name
(Space-character)
Invoked within a "style" attribute's value and between styles
Select a style value
(Space-character)
Invoked within a "style" attribute's value and within a particular styles's value
» Back to the Table of Contents. «

Search Results
When a global find or replace operation is initiated from the markup view, a "search results" is displayed that will show all entities that have one or more lines of text either found or replaced. For each entity displayed in the search results, one or more search result lines are shown (under the entity) that were either found or replaced. When a search result line (or entity) is simply double-clicked or selected and the "Go Position" button is pressed, the corresponding entity is opened and the entity window is positioned to the applicable line.

» Back to the Table of Contents. «

Debug Menu and Toolbar
The FinerEdge Publisher IDE has a built-in document debugging facility. When one or more breakpoints are set within any of the entities of a document and the user switches to the document generation view, the markup view is first invoked in a debugging mode of operation prior to showing the document generation view. In the debugging mode of operation, document processing will pause on the first document element to allow additional breakpoints to be set or reset.

The line containing the next element to be processed is indicated by a right arrow symbol within the left-hand margin of the active entity. When a method is called (used), document processing will jump to the beginning of that method. When the method is exited, document processing will return to the element following the point where the method was called (used). If a called method exists within another entity, that entity is automatically opened. When that same method exits, the original calling entity is again reinstated as the entity currently being processed.

While debugging a document, when the mouse hovers over a recognized variable, hint text shows the variable/expression, its type, and current known value. If the mouse hovers over an array or an array name is selected and then hovered, information about the array is shown in the hint text. When an array is used in a watch, the array elements are shown in a hierarchical display.

» Back to the Table of Contents. «

Debug Watch Explorer
When a debugging mode of operation is entered, a watch explorer will appear at the bottom of the markup view. The watch explorer may contain any number of variables or expressions (on the left-hand side) whose types and calculated values (on the right-hand side) are updated each time document processing is paused.

The left-hand side of the watch explorer might be presented as a hierarchy (i.e., a tree) with expand/collapse controls if the variable is an array with a subscript starting at 0 or 1. The display for an array subscript will discontinue when an unallocated element is detected. Multi-dimension arrays will also be shown in the hierarchical display.

Watch actions are described by the following table:

Add watch button
Show a dialog that allows a variable name or expression to be added. The currently selected text of the markup editor is pre-filled into the expression field of the dialog. The button to the right of the expression field invokes the Expression editor. For additional information, please refer to the topic Expression within this manual.
Double-click on selection
Show a dialog that allows the currently selected watch within the watch explorer to be updated. The watch variable or expression is pre-filled into the expression field of the dialog. The button to the right of the expression field invokes the Expression editor. For additional information, please refer to the topic Expression within this manual.
Delete (key) selection
Remove the currently selected watch from the watch explorer.
» Back to the Table of Contents. «


Chapter 6 - Document Generation
Overview
The FinerEdge Publisher generate document view initially shows the currently open document after it has been processed, generated, and rendered. However, if any of the document's entities have been changed from either the visual designer or markup editor since the last generate action, the document will be again be regenerated and re-shown within this view.

A number of document positioning menu and toolbar commands may be selected to position or zoom the rendered document shown in this view, and are discussed within the following topics in this chapter. In addition, a number of keyboard and mouse actions are also discussed later in this chapter. Finally, a number of menu and toolbar commands may be selected to generate and render the document in various industry standard formats, and are discussed in the following topics within this chapter.

» Back to the Table of Contents. «

Edit Menu/Toolbar
This topic describes the edit menu and toolbar functions that exist within the generate document view.

Navigate to prior link
Position the rendered document to the prior link location from the current link location. Any new links will be added into the link history list after the current link location (subsequent links are deleted from the link history list).
Navigate to next link
Position the rendered document to the next link location from the current link location. Any new links will be added into the link history list after the current link location (subsequent links are deleted from the link history list).
First page
Position the rendered document to the first page.
Previous page
Position the rendered document up by whole pages.
Page up
Position the rendered document up by large increments. When the top of a page is reached, position to the bottom of the previous page if one exists.
Go to page
Show a dialog that allows the user to enter a specific page number. When the user completes the dialog, position to the start of the page entered.
Zoom in/out
Zoom in or out to the next zoom increment respectively.
Zoom increment
Show a dialog that allows the user to selected a percentage zoom level. When the user completes the dialog, redisplay the document at the selected percentage zoom level.
Page down
Position the rendered document down by large increments. When the bottom of a page is reached, position to the top of the next page if one exists.
Next page
Position the rendered document down by whole pages.
Last page
Position the rendered document to the last page.
» Back to the Table of Contents. «

Generate Menu/Toolbar
This topic describes the generate menu and toolbar functions that exist within the generate document view.

Show document
By default, the document is generated, rendered, and shown within the generate view. However, when certain other generate commands are selected and processed, the document is regenerated in a different format and, therefore, cannot be rendered within the generate view. In these cases, selecting this command will again regenerate and show the document within the generate view.
Print document
Generate and print the document to either a local printer or a network printer.
Generate PDF
Generate the document in the Portable Document Format (PDF). A dialog is shown that allows the user to select the PDF version and a number of additional document generation options. For more information, please refer to the topic PS/PDF Options within this manual.
Generate XPS
Generate the document in the XML Paper Specification (XPS) format.
Generate PostScript
Generate the document in the PostScript (PS) format. A dialog is shown that allows the user to select the PostScript version and a number of additional document generation options. For more information, please refer to the topic PS/PDF Options within this manual.
Paged HTML
Generate the document by creating one or more HTML files representing the "paged" FinerEdge Publisher document.

When page breaks are detected, elements are properly closed and then re-opened again on the next page. In addition, headers, footers, left/right page areas, and page breaks are also observed.
EPUB format
Generate the document in the EPUB format and optionally in the Kindle Fire format.
DOCX format
Generate the document in the DOCX format.
Generate text
Generate the document in a pure text format (i.e., having no embedded formatting instructions). This option is useful to, for example, generate delimited files or XML formatted files.
» Back to the Table of Contents. «

Keyboard/Mouse Commands
This topic describes the mouse and keyboard commands that may be used within the generate document view.

Left mouse click and drag
Position the rendered document relative to the current page.
Right mouse click
Show a popup menu of document positioning choices.
Mouse wheel
Position the rendered document by small increments up or down respectively. When the top of a page is reached and the up arrow is again pressed, position to the bottom of the previous page if one exists. When the bottom of a page is reached and the down arrow is again pressed, position to the top of the next page if one exists.
Mouse wheel with shift
Zoom in or out to the next zoom increment respectively.
Left/Right arrows
Position the rendered document in small increments to the left or right respectively.
Up/Down arrows
Position the rendered document by small increments up or down respectively. When the top of a page is reached and the up arrow is again pressed, position to the bottom of the previous page if one exists. When the bottom of a page is reached and the down arrow is again pressed, position to the top of the next page if one exists.
Home/End
Position the rendered document to the top or bottom of the current page respectively. If the Shift key is simultaneously pressed while either the Home or End keys are pressed, position to the start of the first or last page with the rendered document respectively.
PageUp/PageDown
Position the rendered document by large increments up or down respectively. If the Shift key is simultaneously pressed while either the PageUp or PageDown keys are pressed, position the rendered document backwards or forwards by whole pages respectively. When the top of a page is reached and the PageUp key is again pressed, position to the bottom of the previous page if one exists. When the bottom of a page is reached and the PageDown key is again pressed, position to the top of the next page if one exists.
» Back to the Table of Contents. «


Chapter 7 - Form Definition
Overview
The FinerEdge Publisher form definition view shows the currently open document's form in a WYSIWYG visual design environment. FinerEdge Publisher forms can be simultaneously generated in both HTML (web) and GUI formats, and invoked from a FinerEdge Publisher web process or directly from an application if so desired.

A FinerEdge Publisher form is optionally associated with each document. When a form is defined for a document, both the form and document are automatically governed by a controlling process. The controlling process and form can be simultaneously utilized in a GUI environment, generated as a standalone HTML form, generated as .NET Web Pages (ASPX), and generated as .NET Razor Pages (CSHTML).

Forms are used to collect various initial information from the user that subsequently drive a document's processing. For example, a document may use the collected form information to control its own generation (i.e., formatting) or to control the way in which further information is extracted from databases and XML data files.

» Back to the Table of Contents. «

Form Elements
The form definition view shows an outer scrollable area that automatically expands when the form's content grows larger than the display area. When this happens a horizontal and vertical scrollbar appears to allow the form author access to all areas of that form. An inner area within the outer scrollable area exhibits the form's real dimensions, which may be either smaller or larger than the currently displayed area of the form. The inner area is surrounded by a visible border, which expands as necessary to enclose all fields of the form. All form controls are laid out using a normal flow method for compatibility with web form generation (i.e., not involving absolute positioning methods). The normal flow method starts at the top left-hand side of the form and proceeds from left to right margins and then from top to bottom margins of the form.

A number of menu and toolbar commands may be selected to create and edit the form, and are further discussed within this chapter. Furthermore, the applicable toolbar commands may be used to insert controls into the form in two ways. The first way involves selecting an existing item within the form and subsequently clicking and releasing the intended toolbar button. The new form control is always inserted prior to the currently selected control. The second way is to click the mouse on a particular toolbar button and, while holding the mouse button down, drag the toolbar button into the inner form area and release it over an existing control. Again, the dragged control will always be inserted prior to the existing control where the new control was dropped. Whenever a new control is added into the form, a corresponding dialog is first shown that allows the properties of the form control to be initially set.

» Back to the Table of Contents. «

Content Menu and Toolbar
This topic describes the Content menu and toolbar functions that exist within the form definition view. The associated Content toolbar is shown under the main menu. The Content toolbar simultaneously supports both standard and drag ' drop modes of operation. Both the standard and drag ' drop modes of operation are described in the topic "Form Elements". The following table presents each of the Content menu functions along with a description of each function.

Form properties
Invoke the form properties editor to change the form's overall attributes. In addition to the visual attributes of a form, a number of other attributes can be specified such as alternate locations for ASP generation. For more information, please refer to the topic Form (Form) within this manual.
Group frame
Invoke the group frame editor to create a group frame control. Group frames provide a way to visually organize controls that have a similar purpose. For more information, please refer to the topic Group/Label (Form) within this manual.
Static label
Invoke the static label editor to create a static control. Static controls are used to display textual information or to provide a label for edit fields. For more information, please refer to the topic Group/Label (Form) within this manual.
Edit field
Invoke the edit field editor to create an edit field control. Edit fields accept textual information that will be subsequently presented to a document within a string variable. For more information, please refer to the topic Edit (Form) within this manual.
Checkbox
Invoke the checkbox editor to create a checkbox control. Checkbox values will be presented to a document within a number variable as either 0 (unchecked) or 1 (checked). For more information, please refer to the topic Check/Radio (Form) within this manual.
Radio button
Invoke the radio button editor to create a radio button control. Radio button values will be presented to a document within a number variable as either 0 (unchecked) or 1 (checked). Furthermore, a set of radio buttons will interoperate with each other to insure that only one radio button for a set is selected. A radio button set starts with the first radio button seen and ends when a control other than a radio button is seen. For more information, please refer to the topic Check/Radio (Form) within this manual.
Combobox
Invoke the combobox editor to create a combobox control. The selected value of a combobox will be presented to a document within a string variable. For more information, please refer to the topic List (Form) within this manual.
List box
Invoke the list box editor to create a list box control. The selected value of a list box will be presented to a document within a string variable. For more information, please refer to the topic List (Form) within this manual.
Image
Invoke the image editor to create an image control. Image controls are for display purposes only and do not generate a corresponding variable within a document. For more information, please refer to the topic Image (Form) within this manual.
Split line
Split the line at the currently selected control into two lines. All controls prior to the selected control will remain on the current line and all other controls, including the selected control, will create a new line (all subsequent lines will move down in the form).
Join lines
Join the line corresponding to the currently selected control to the end of the previous line.
Delete control
Delete the currently selected control from the form.
Update control
Invoke the corresponding form-related editor to update the properties of the currently selected control. For more information, please refer to the topic Chapter 9 - IDE Dialogs within this manual.
» Back to the Table of Contents. «

Navigation and Editing
Forms and their controls may be manipulated by utilizing the navigation and editing commands discussed in the following table.

Single left click
Select a particular control within the form. A selection frame will be shown around the control.
Double left click
Initiate the corresponding dialog to edit the properties of a particular form control. The same action can be accomplished by first selecting the control and then invoking the menu/toolbar command to update a control's properties.
Single right click
Show a popup menu of choices similar to the menu/toolbar choices of the form definition view.
Move controls
Controls can be move around in a form by first selecting the intended control. Position the mouse in the middle of the selection frame (i.e., the middle of the control) until the mouse cursor changes to a left-right/up-down symbol. Click and hold the left mouse button and drag the control to the new location. Drop the control by releasing the mouse button over the desired location. The moved control will always be inserted prior to the existing control where it was dropped.
Resize controls
Controls can be visually resized by first selecting the intended control. Either the width or height of the control can be enlarged or shrunk by clicking and dragging on the handles (small black rectangles) located on the right-hand side and bottom of the selection frame. When the width or height of an control is allowed to be resized the mouse cursor will change to either a left-right or up-down symbol respectively, however not all controls support resizing both their widths and heights.
» Back to the Table of Contents. «


Chapter 8 - Form Generation
Overview
The FinerEdge Publisher form generate view shows the currently open document's form in an operational (i.e., non-editable) GUI environment. However, FinerEdge Publisher forms can also be simultaneously generated in both HTML (web) and GUI formats. A number of menu and toolbar commands may be selected to generate the form, and are discussed within this chapter.

A FinerEdge Publisher form is optionally associated with each document. When a form is defined for a document, both the form and document are automatically governed by a controlling process. The controlling process and form can be simultaneously utilized in a GUI environment or be generated in a .NET Web Pages or .NET Razor Pages from this view.

Forms are used to collect various initial information from the user that subsequently drive a document's processing. For example, a document may use the collected form information to control its own generation (i.e., formatting) or to control the way in which further information is extracted from databases and XML data files.

» Back to the Table of Contents. «

Generate Menu/Toolbar
This topic describes the generate menu and toolbar functions that exist within the form generate view.

Test form process
Test the process and form in a GUI environment. The form will first appear in an operational mode and, after the user has completed the form, the information entered is fed into the document, which are then available as document variables. The document is then processed, generated, and rendered within the document generation view.
Generate HTML
Generate only an HTML form from the form definition at the location determined by the corresponding field of the form properties. For more information, please refer to the topic Form (Form) within this manual.
Generate .NET Web Page (ASPX)
Generate a valid and self-contained Active Server Pages .NET (ASPX) process along with an embedded HTML form and a C# code-behind file from the form definition at the location determined by the corresponding field of the form's properties. The process will automatically create the necessary document variables from the applicable control fields and subsequently initiate all document processing and generation cross-media outputs that were selected through the form's properties. For more information, please refer to the topic Form (Form) within this manual.
Generate .NET Razor (CSHTML)
Generate a valid and self-contained C Sharp HTML Pages (CSHTML) process along with an embedded HTML form from the form definition at the location determined by the corresponding field of the form's properties. The process will automatically create the necessary document variables from the applicable control fields and subsequently initiate all document processing and generation cross-media outputs that were selected through the form's properties. For more information, please refer to the topic Form (Form) within this manual.
» Back to the Table of Contents. «


Chapter 9 - IDE Dialogs
HeaderFooter
Description:

Defines an element header or footer for a div or table element, which is composed of optional formatting elements that appear on subsequent pages.

Fields:

Option
For a header tag, a value of DEFINE creates an element header, whereas a value of NEXT specifies formatting elements that will appear on subsequent pages. A header tag with a value of NEXT may only appear within a header tag with a value of DEFINE.

For a footer tag, a value of DEFINE creates an element footer.
Measure
When checked, the header or footer is included when automatically measuring the width for an Adjustable, Left, Center, or Right table column. If not checked, the header or footer is not include when automatically measuring a column's width.
Format
When checked, format the header or footer like a Left, Center, or Right table column. If not checked, format the header or footer in the usual manner.
» Back to the Table of Contents. «

Catalog
Description:

The catalog was originally employed with Standardized Generalized Markup Language (SGML) parsers. It provided a level of indirection for document entities so that, should the location of entities be changed, only the applicable records of the catalog need be updated. FinerEdge Publisher implements the notion of a catalog and can both refer to document entities directly and indirectly through the catalog. However, the FinerEdge Publisher catalog records have also been extended to account for font definitions and images.

Typical uses of the catalog might be for entities that contain common methods (e.g., for the entire organization or an organizational group) or for common images (e.g., a organization's logo and group-oriented images). However, other than the pre-defined Base-14 fonts understood by all cross-media output types, additional fonts must be defined within the catalog.

Fields:

Entity List
Contains one line for each catalog record. Selecting a particular record within the entity list will populate the following fields with the respective values of that record.
Entity Type
Either an external entity (normal entity), font, or image types may be selected. Selecting an entity type that is different than the currently selected catalog record's type will clear all subsequent fields in preparation to add a new catalog record.
Entity Name
The internal name of the currently selected catalog entity.
Entity Value
The specification for the currently selected catalog entity. For example, an external entity (normal entity) might refer to the absolute or relative name of a disk file (relative names are with respect to the document entity's directory path). Depending upon the Entity Type chosen, the Select button will invoke the dialog that is applicable to that entity.
Change
If the Entity Name is known within the catalog, the applicable catalog record will be updated (otherwise a new catalog record will be added).
Delete
Delete the currently selected catalog record.
» Back to the Table of Contents. «

Chart
Description:

Invokes the charting engine with the designated chart definition to produce an image file that can be subsequently used with the style property background-image.

For additional information, please see the applicable appendix in the FinerEdge Publisher reference manual.

Fields:

Name
The name of an existing chart definition file.
Variable
The variable name that will contain the automatically created image file name. If the variable name does not exist it will be created.
Type
The output image type.
Parameters
Optional attribute specifies additional parameters that are specified within the chart definition as replacement parameters. The parameter string has the format:

<name>: <value> [ ; <name>: <value> ]
DPI X
Optional x-direction resolution of the produced chart. If a value is not given or is less than x-direction standard screen resolution, then the standard screen resolution is assumed.
DPI Y
Optional y-direction resolution of the produced chart. If a value is not given or is less than y-direction standard screen resolution, then the standard screen resolution is assumed.
Log
Optionally create a log file that describes the chart creation process, including any possible exceptions.
» Back to the Table of Contents. «

Check/Radio (Form)
Description:

Add or update various fields for a checkbox or radio button within a FinerEdge Publisher form. FinerEdge Publisher can simultaneously generate both GUI and web versions of the form. For more information, please refer to the topic Group/Label (Form) within this manual.

Fields:

Name
The name of the checkbox or radio button that is referenced within the corresponding document. A variable is automatically generated for a document as "@Global_Name" (where "Name" is the name given by this field).
Label
The label text that is shown next to the checkbox or radio button.
Value
The initial value of the checkbox or radio button (0=unchecked, 1=checked).
Color
The foreground color of the label's text (a value of "transparent" uses the default color black).
Tab Index
An optional tab index that determines the tab sequence for applicable controls. A value of 0 indicates that no tab index will be set.
User
Optional text to remind the form's author about anything regarding the checkbox or radio button (not shown on the form).
Help
Optional help text that is shown on the form when the user selects or tabs to the checkbox or radio button.
» Back to the Table of Contents. «

Check List
Description:

Allows items in the list to be individually included or excluded by checking/unchecking the checkbox to the left of a particular item's description. An example use of a check list is when selecting database tables/views or fields (within a database table) via the query editor.

Fields:

Check List
The check list contains one line for each item in the list along with a checkbox positioned to the left of each item's description.
Check All
Check all items in the check list.
Uncheck All
Uncheck all items in the check list.
Tables
If database table/views are being selected, show the tables in the checklist.
Views
If database table/views are being selected, show the views in the checklist.
» Back to the Table of Contents. «

Col/ColGroup
Description:

Add or update Col or ColGroup elements that each utilize the same common fields. Col elements may be embedded within ColGroup elements. No other elements may be embedded within Col or ColGroup elements.

Fields:

Align
Specifies the horizonal alignment of the column.
Span
Specifies the number of columns this Col or ColGroup element encompasses.
Width
Specifies the width of this column.
Class
Specifies a style class. The ComboBox list is populated with all known style classes.
ID
Specifies a style ID. The ComboBox list is populated with all known style IDs.
Style
Specifies individual style properties that are applied to the element. The button to the right of this field invokes the style editor, which allows style properties to be edited within an intuitive form-driven environment.
» Back to the Table of Contents. «

Content
Description:

Add or update a number of content-oriented elements (e.g., Div, Span, etc.) that each utilize the same common fields. Table, Div, and Span elements may be embedded (i.e., nested) within each other. However, while Span elements can be embedded in other Span Elements, Table and Div elements may not be embedded within Span elements.

Fields:

Class
Specifies a style class. The ComboBox list is populated with all known style classes.
ID
Specifies a style ID. The ComboBox list is populated with all known style IDs.
Style
Specifies individual style properties that are applied to the element. The button to the right of this field invokes the style editor, which allows style properties to be edited within an intuitive form-driven environment.
Header row
This field is only shown when adding or updating a tr element. When checked, the tr element is designated as a "header" row. A header row will be reproduced when continuing a table (or embedded table) element following a page break.
Footer row
This field is only shown when adding or updating a tr element. When checked, the tr element is designated as a "footer" row. A footer row will be reproduced when continuing a table (or embedded table) element following a page break.
» Back to the Table of Contents. «

Content Tag
Description:

The Content Tag can contain any type of content including tags or text, with the exception of an ending Content Tag (Content Tags may not be embedded within other Content Tags). By default, this content is placed within a string designated by the "Variable" field. For example, the Content Tag can be utilized with the svg tag to create an SVG XML name for the background-image style.

Fields:

Variable
By default, designates a string variable name where the content of this tag will be placed.
Delimiter (Level 1-10)
Each delimiter character represents a "level" of tokenization, starting from 1.
Names (Level 1-10)
An optional comma separated list of names for the particular level of tokenization.
Text
The editable textual content of the Content Tag.
When the fields "Delimiter (Level 1-10)" are given, each character represents a "level" of tokenization, starting from 1. For each level of tokenization, the delimiter character is used to parse the individual tokens. The next level of tokenization is applied to each of the previous level's list of tokens, and so on.

Whitespace is trimmed from the ends of the tokens at each level. In addition if tokens are surrounded by apostrophe characters (single quotes), a type of string is assumed. In all other cases, token types are automatically determined by the content, which are then used to set the types of the resulting elements.

Each level of tokenization (starting from 1) will result in another level of array indexing as applied to the name specified by the "variable" field. For example if "var" was "MyAry", two (2) delimiter characters would imply two levels of tokenization, which would also imply the array elements "MyAry[1,1] to MyAry[m,n]" (array indexes start from 1).

When the fields "Names (Level 1-10)" are given, an optional name list separated by commas can be applied to the levels of tokenization (instead of the numeric array indexing described above). For example if "variable" was "MyAry" and "Names (Level 1)" was "" and "Names (Level 2)" was "Name1,Name2", two (2) delimiter characters would imply the array elements "MyAry[1,'Name1'] to MyAry[n,'Name1']" and "MyAry[1,'Name2'] to MyAry[n,'Name2']".

» Back to the Table of Contents. «

DOCX Options
Description:

Applies a number of options to a DOCX generation.

Fields:

None (not currently used).

» Back to the Table of Contents. «

Edit (Form)
Description:

Add or update various fields for an edit box within a FinerEdge Publisher form. FinerEdge Publisher can simultaneously generate both GUI and web versions of the form.

Fields:

Name
The name of the edit box that is referenced within the corresponding document. A variable is automatically generated for a document as "@Global_Name" (where "Name" is the name given by this field).
Value
The initial value of the edit box.
Tab Index
An optional tab index that determines the tab sequence for applicable controls. A value of 0 indicates that no tab index will be set.
User
Optional text to remind the form's author about anything regarding the edit box (not shown on the form).
Help
Optional help text that is shown on the form when the user selects or tabs to the edit box.
» Back to the Table of Contents. «

Entity Change
Description:

Specifies the name and optional value of an entity being added or updated in the entity panel (the entity panel is shown in both the visual designer and markup views). If an entity value is not explicitly given, the entity name must exist as a record within the currently active catalog.

Fields:

Entity name
The internal name of the entity being added or updated within the entity panel.
Entity value
The external specification for the entity being added or updated within the entity panel, which refers to the absolute or relative name of a disk file (relative names are with respect to the document entity's directory path). The button to the right of this field allows a disk file to be selected.
» Back to the Table of Contents. «

Entity Properties
Description:

Specifies various fields that are applicable to the highlighted entity icon as shown in the entity panel.

Fields:

Document entity
If checked, this entity is designated as a document (i.e., containing a valid XML prolog and DTD) and all subsequent fields are enabled. If not checked, all subsequent fields are disabled and this entity is designated as a module entity (i.e., containing one or more methods that must be called from a document entity or another module entity).
Date format
us
Use user specified date.
mm
Use MM/DD/YY date.
dd
Use DD/MM/YY date.
yy
Use YY/MM/DD date.
jj
Use YY/DDD Julian date.
nn
Use straight number of days.
cm
Use MM/DD/YYYY date.
cd
Use DD/MM/YYYY date.
cy
Use YYYY/MM/DD date.
cj
Use YYYY/DDD Julian date.
Date delimiter
A single character date delimiter.
Time format
us
Use user specified time.
mm
Use HH:MM 24-hour time.
ss
Use HH:MM:SS 24-hour time.
am
Use HH:MMa/p 12-hour time.
as
Use HH:MM:SSa/p 12-hour time.
Time delimiter
A single character time delimiter.
Decimal point
A single character decimal point delimiter.
Thousand
A single character thousands delimiter.
Currency
A single character currency delimiter.
Default length
The default length used by the var element when the resulting expression is an empty string (or optionally zero).
Default character
The default character used by the var element when the resulting expression is an empty string (or optionally zero).
Pre-process
Preprocess the document and create a static references table. This is helpful to, for example, create a table of contents at the beginning of document generation.
View
Sets the default view of this entity to "None", "Visual" (i.e., the visual designer), or "Markup" (i.e., the markup editor). When set to Visual or Markup, this value overrides the default view selected in the user preferences. (When either not set or set to None, the default view selected in the user preferences is used.)
» Back to the Table of Contents. «

EPUB Options
Description:

Applies a number of options to an EPUB generation.

Fields:

Page mode
When this option is set to "paged" (the default), each page is generated as a separate file with the suffix "_Page_<page #>" followed by the extension.

When this option is set to "explicit", only explicit page breaks cause separate files to be generated.

When this option is set to "none", the traditional html generation will not segment the document into separate pages.
Obfuscate fonts
When this option is checked, fonts will be obfuscated. Fonts should be obfuscated unless there exists specific reasons not to obfuscate the font resources being embedded in this document.
Kindle Fire
When this option is checked, automatically call the kinglegen program after the EPUB document generation has completed.
» Back to the Table of Contents. «

Expression
Description:

The expression editor allows FinerEdge Publisher expressions to be visually created or updated. This editor is invoked from many locations within the IDE by pressing the "..." button to the right an applicable dialog field.

Fields:

Expression area
The expression being created or updated (may be changed directly or by using the fields below).
Variables
A list of variables that are known at the time the expression is being created. When a variable is selected, a brief help description is displayed at the bottom of the form. Also, when a variable is double-clicked or the "Insert ^" button is pressed, the variable is inserted into the expression area at the current insertion point.
Functions
A list of all FinerEdge Publisher functions that may be used within any expression. When a function is selected, a brief help description is displayed at the bottom of the form. Also, when a function is double-clicked or the "Insert ^" button is pressed, the function is inserted into the expression area at the current insertion point.
Operators
A set of buttons that correspond to FinerEdge Publisher operators that may be used within any expression. When any of the buttons are pressed, the corresponding operator is inserted into the expression area at the current insertion point.
Grouping/Special
A set of buttons that correspond to FinerEdge Publisher grouping or special characters. When any of the buttons are pressed, the corresponding grouping or special character is inserted into the expression area at the current insertion point.
Test
Tests the validity of the expression and reports the result at the bottom of the form.
» Back to the Table of Contents. «

File
Description:

Performs various actions to include opening, reading, writing, closing, checking the existence of, deleting, renaming, and copying text files. Read actions input the next record of text following the current file position. Write actions output text at the end of the file, which is then terminated by an appropriate newline sequence.

Fields:

Action
New
Create a new file identified by the "slot" attribute with the path given in the "value" attribute. If a file already exists with the given name, the original file is deleted prior to creating the new file. Optionally open the file with the code page "ANSI" (default value), "OEM", or "UTF8" given in the "value2" attribute.
Open
Open an existing or new file identified by the "slot" attribute with the path given in the "value" attribute. Optionally open the file with the code page "ANSI" (default value), "OEM", or "UTF8" given in the "value2" attribute,
Read
Read from a previously opened file identified by the "slot" attribute into a <string variable> given in the "value" attribute. Since an empty record will return a zero-length string, the constant "<EOF>" is returned when the end-of-file is seen.
Write
Write to a previously opened file identified by the "slot" attribute with the text given in the "value" attribute.
Close
Close a previously opened file identified by the "slot" attribute.
Exists
Determines if the file given in the "value" attribute exists and places the result (0=Does not exist, 1=Exists) into a <number variable> given in the "value2" attribute.
Delete
Delete an existing file given in the "value" attribute.
Rename
Rename an existing file given in the "value" attribute to the new name given in the "value2" attribute. The Rename action can be used to move a file between directories.
Copy
Copy an existing file given in the "value" attribute as the new name given in the "value2" attribute.
Slot
A number ranging from 1 to N (typically 10) that identifies a particular file for Open, Read, Write, and Close actions.
Value
Depending upon the action chosen, the content of this attribute varies (see the "action" attribute for additional information).
Value2
Depending upon the action chosen, the content of this attribute varies (see the "action" attribute for additional information).
Temporary file
When specified with an action of "New" or "Open" and the temp mmnemonic is "Yes", the file will be automatically removed after the current document has been created. The default temp mnemonic is "No".
» Back to the Table of Contents. «

Find/Replace (Entity)
Description:

Allows any text or regular expression pattern to be found or replaced with new text (from within the markup view) for the active entity.

Fields:

Find What
The text or regular expression pattern to find. To find a regular expression pattern, the corresponding checkbox must be selected. When this dialog has been used and subsequently dismissed, pressing F3 will repeat the last find or replace action.
Find Next
Finds the next occurrence of the text or regular expression pattern in the active entity (past the current insertion point or last occurrence of found text) that was entered into the "Find What" field. If the end-of-file is seen, the search continues from the beginning of the file and stops when the original starting position of the search is seen.
Replace With
The text that replaces any found text or regular expression pattern in the active entity. (Only visible when performing a replace.)
Replace
Replaces this occurrence of found text or regular expression pattern with the "Replace With" text in the active entity and subsequently finds the next occurance. (Only visible when performing a replace.)
Replace All
Replaces all occurrences of found text or regular expression pattern with the "Replace With" text in the active entity. (Only visible when performing a replace.)
Find whole word
When selected, only find whole words as opposed to text occurring within words.
Match case
When selected, upper and lowercase characters are relevant as opposed to ignoring upper and lower case differences in text.
Regular expression
When selected, the "Find What" field designates a POSIX compatible regular expression as opposed to normal text.
» Back to the Table of Contents. «

Find/Replace (Global)
Description:

Allows any text or regular expression pattern to be found or replaced with new text (from within the markup view) for either all entities of a document or just the currently opened entities.

Fields:

Find What
The text or regular expression pattern to find. To find a regular expression pattern, the corresponding checkbox must be selected.
Replace With
The text that replaces any found text or regular expression pattern in the active entity. (Only visible when performing a replace.)
Find whole word
When selected, only find whole words as opposed to text occurring within words.
Match case
When selected, upper and lowercase characters are relevant as opposed to ignoring upper and lower case differences in text.
Regular expression
When selected, the "Find What" field designates a POSIX compatible regular expression as opposed to normal text.
All entities in document
Find or replace within all entities of a document.
Open entities only
Find or replace within currently opened entities only.
» Back to the Table of Contents. «

Find (Visual)
Description:

Allows optional method names, element names, and attribute text to be found for the active entity. When this dialog has been used and subsequently dismissed, pressing F3 will repeat the last find action.

Fields:

Method
The optional method name to find.
Element
The optional element name to find.
Attribute Text
The optional attribute text to find within an element's attributes.
Find Next
Finds the next occurrence in the active entity (past the current location or last found occurrence). If the end-of-file is seen, the search continues from the beginning of the file and stops when the original starting position of the search is seen.
» Back to the Table of Contents. «

For
Description:

Iteratively loop around a group of elements until the for loop's condition is satisfied.

Fields:

Variable
Specifies a variable whose value is changed according to the values of the Start and Step fields for each iteration of the loop. If the variable has not been previously declared, it is automatically created as a number type.
Start
The initial value of the first loop iteration. If the value of Start is greater than End, the loop decreases in value, otherwise the loop increases in value.
End
The final value of the last loop iteration. If the value of End is less than Start, the loop decreases in value, otherwise the loop increases in value.
Step
An optional value to increment or decrement on each iteration through the loop. If this value is not given, a value of 1 is assumed.
» Back to the Table of Contents. «

ForEach
Description:

Iteratively loop around all of the records within a given recordset.

Fields:

Name
The name of the recordset known to the application.
Mark
Optional attribute specifies the <Processing Interval>, <Rendering Interval>, and <Generating Interval> of the MARK tag's "Initialize" type "expr" attribute (please refer to the mark tag for more information).
Parameters
Optionally used to pass additional information to the application. Selecting a new value from this list will populate the fields below.
Parameter name
The name of the particular optional parameter selected from the Parameters field.
Parameter value
The value of the optional parameter (may not contain a semicolon) selected from the Parameters field.
Change
When a parameter item has not been selected from the Parameters field, it will be appended to the end of the list, otherwise the parameters will be updated into the selected position within the parameters list. A Change, Move up, or Delete action will unselect the Parameters field in preparation for a possible parameter addition.
Move up
Move the currently selected parameter up within the Parameters field.
Delete
Delete the currently selected parameters from the Parameters field.
» Back to the Table of Contents. «

Form (Form)
Description:

Update various fields for a FinerEdge Publisher form. FinerEdge Publisher can simultaneously generate both GUI and Web versions of the form.

Fields:

Font name
The name of the font used in the form.
Font size
The size of the font (in points) used in the form.
Background image
A background image that is shown in the form.
Background color
The background color that is shown in the form. A color of transparent shows the dialog color or web page color.
Caption text
The text of the optional caption for the form.
Caption color
The foreground color of the optional caption text for the form.
ASP url
The overridable Active Server Page (ASP) url that is generated for the form. If not set, the value designated by the IDE preferences form tab (if set) or a default value is assumed. For more information, please refer to the topic "ASP Setup" in the FinerEdge Publisher Programmer's Guide.
ASP path
The overridable Active Server Page (ASP) path prefix that is generated for the form. If not set, the value designated by the IDE preferences form tab (if set) or a default value is assumed. For more information, please refer to the topic "ASP Setup" in the FinerEdge Publisher Programmer's Guide.
Temp dir
The overridable temporary folder name that is used to store the files generated while running the process. If not set, the value designated by the IDE preferences form tab (if set) or a default value is assumed. For more information, please refer to the topic "ASPX and CSHTML Setup" in the FinerEdge Publisher Programmer's Guide.
Generation
Selects one or more output formats that may be simultaneously created during document generation.
» Back to the Table of Contents. «

Group/Label (Form)
Description:

Add or update various fields for a group box or label within a FinerEdge Publisher form. FinerEdge Publisher can simultaneously generate both GUI and web versions of the form.

Fields:

Label
The optional label text. If a group box is being defined, the label text is shown in the group box's top border.
Align
Left, middle, or right align the label text.
Invisible
The field applies to a group box only. When checked, the border of the group box is invisible (otherwise the border is visible).
Color
The foreground color of the group box or label's text (a value of "transparent" uses the default color black).
» Back to the Table of Contents. «

HTML Paged Options
Description:

Applies a number of options to an HTML Paged generation.

Fields:

Page Mode
When this option is set to "paged" (the default), each page is generated as a separate file with the suffix "_Page_<page #>" followed by the extension.

When this option is set to "explicit", only explicit page breaks cause separate files to be generated.

When this option is set to "none", the traditional html generation will not segment the document into separate pages.
Multiple Files (file per page and index)
By default, each page generates a separate file with the suffix "_Page_<page #>" followed by the extension. When separate files are generated for each page, an index page is also generated.
Single File (all pages in one file)
When this option is selected, a single file is generated with visible pages and comments delimiting the markup for each page.
» Back to the Table of Contents. «

Image (Form)
Description:

Add or update various fields for an image within a FinerEdge Publisher form. FinerEdge Publisher can simultaneously generate both GUI and web versions of the form.

Fields:

Image name
The file name of a BMP image. Unlike a FinerEdge document, no conversion between images formats or image sizes (e.g., scaling or repeat patterns) will occur in forms.
URL
The url of the image that is used when generating a web page form. This field should reference a web-compatible formatted image (e.g., GIF, JPEG, etc.).
» Back to the Table of Contents. «

Import
Description:

Translates an external format, such as HTML, into valid FPML and inserts the fragment into the document generation flow (i.e., phase II).

Important: During the subsequent generation of the fragment, the document is protected against faults that occur in the fragment (i.e., if an error occurs generating the fragment, the remainder of the fragment is skipped prior to continuing document generation).

For additional information, please see the applicable appendix in the FinerEdge Publisher reference manual.

Type
The type of import action. The value "HTML-Base" performs a base HTML-to-FPML import translation, where FPML tags are not allowed. The value "HTML-Exp" performs an expanded HTML-to-FPML import translation where FPML tags are allowed in addition to the base HTML tags.
Source
The source of the import input, which may be either "String" for a string variable or "File" for a file name or url.
Expression
When the source is "String", designates the input string. When the source is "File", designates the name of an input file or uri.
Error result
A variable name that contains the error text (if any) from the translation. An empty string after translation signifies no error.
Error action
If an error occurs while subsequently generating the fragment, a value of "None" (the default value) will not show the error text in the document output whereas a value of "Include" will show the error text in the document output.
» Back to the Table of Contents. «

Insert Characters
Description:

Insert special characters, symbols, or update fragments of text within a document. A fragment of text uses the same font for all symbols (characters). Fonts may also be changed for text fragments by altering the font-family, font-size, font-style, and font-weight style properties for content elements such as Span, Div, Table, etc.

FinerEdge Publisher is Unicode compliant throughout the system and with all generated output formats. All possible characters that are offered by a particular font are accessible and shown within this dialog. As such, regardless of the IDE view selected, any characters embedded within a fragment of text are shown as their actual symbol while in this dialog and also while directly altering text (typing) within the visual designer view.

Technical note: While editing an entity in the markup view and as can be seen within the stored FPML files, any character that has a code less than 32 or greater than 126 is shown as a simple "Ͼ" escape sequence (if less than 256) or as a Unicode "￾" escape sequence (if greater than 255).

Fields:

Text area
The area where symbols (characters) are edited or inserted. This is also the area that is copied back into the selected document view when this dialog is successfully completed.
Font
One of the fonts in the ComboBox list may be selected in order to repopulate the font symbols area with all possible characters that are offered by the selected font. In addition, the symbols in the text area are also changed to reflect the new font selected. Only fonts that have been defined within the FinerEdge Publisher catalog are shown within this list. To define a new font that is available for general use within all documents that use a particular catalog. For more information, please refer to the topic Catalog within this manual.
Font symbols
All possible symbols (characters) within the selected font are shown in this area. A particular symbol can be inserted into the current insertion point of the text area either by double-clicking on that symbol or by selecting a symbol and pressing the "Insert ^" button.
Escape sequences
In addition to the symbols within a font, a number of commonly employed escape sequences can be inserted into the current insertion point of the text area by pressing the desired button.
» Back to the Table of Contents. «

List (Form)
Description:

Add or update various fields for both a ComboBox and a ListBox within a FinerEdge Publisher form. FinerEdge Publisher can simultaneously generate both GUI and web versions of the form.

Fields:

Type
May be either "list" for a ListBox, "drop" for a non-editable ComboBox, or "dropedit" for an editable ComboBox. Note: The current HTML standard does not support editable ComboBox controls. Hence for .NET Web Pages and .NET Razor Pages generated HTML forms, the value of "dropedit" will perform the same operation as "drop". As an option, the ListBox or ComboBox may be populated with a value of "Custom" or "Other" and a corresponding Edit control utilized to supply the actual custom value.
Name
The name of the ComboBox or ListBox that is referenced within the corresponding document. A variable is automatically generated for a document as "@Global_Name" (where "Name" is the name given by this field).
Value
The initial value of the ComboBox or ListBox. If the value exists within the list, it is highlighted.
Tab Index
An optional tab index that determines the tab sequence for applicable controls. A value of 0 indicates that no tab index will be set.
Rows
Determines the number of rows that will be shown within the list area. When the number of list items is greater than this value, the list items are scrolled when needed.
User
Optional text to remind the form's author about anything regarding the ComboBox or ListBox (not shown on the form).
Help
Optional help text that is shown on the form when the user selects or tabs to the ComboBox or ListBox.
List
The list of items in the ComboBox or ListBox. Selecting a particular item will populate the List item field and allow it to be updated or deleted.
List item
The list item that is currently being updated or deleted.
Change
When a list item is not selected from the List field, it will be appended to the end of the list, otherwise the list item will be updated into the selected position within the list. A Change, Move up, or Delete action will unselect the List field in preparation for a possible list addition.
Move up
Move the currently selected list item up within the List field.
Delete
Delete the currently selected list item from the List field.
» Back to the Table of Contents. «

Logic/Process
Description:

Adds or updates fields that are common to various logic (process) elements (e.g., If Element, While element, etc).

Fields:

Expression
The expression of the logic (process) element. The "..." button to the right of this field invokes the FinerEdge Publisher expression editor.
Case Else
This field is only shown for a "Case" element (a "Case" element is used within a "Select" element to signify one of the Select element's choices). Pressing this button will designate a "Case Else" element, which is normally utilized as the last "Case" element when no other "Case" expressions are satisfied.
» Back to the Table of Contents. «

Mark
Description:

Signals a mark action to the controlling application (i.e., the IDE is one such controlling application).

Fields:

Type
Either Fire, Initialize, or Increment may be selected. Please refer to the explanation below for a description of each mark type.
Expression
Allows an expression to be specified. The expression is dependent upon the "Type" of mark element designated. The "..." button to the right of this field invokes the FinerEdge Publisher expression editor.
In general, the controlling application must be willing to participate with the mark types of Fire, Initialize, and Increment. In particular, the IDE participates with the Initialize and Increment types by displaying the progress of the document generation phases at the bottom of its main window (i.e., within its status bar area). The various types of actions that can be specified by the mark element are as follows:

Fire -
A mark event is sent to the controlling application during document generation. The meaning of the expression field is only relevant to the document being processed and the controlling application.

Initialize -
To initialize the FinerEdge Publisher's document generation status mechanism and receive processing, rendering, and generating events, each participating document must include a Mark element with a type of "Initialize". In addition, the host application must also be willing to participate in reporting these status events, however the IDE is always enabled to participate in these types of events. The Expression field must resolve to four whole numbers having a format as follows:

<Processing Maximum>, <Processing Interval>, <Rendering Interval>, <Generating Interval>

When either the <Processing Maximum> or the <Processing Interval> has a value of zero, processing mark events will not be sent to the application. Likewise, if the <Rendering Interval> has a value of zero, rendering mark events will not be sent to the application. Finally, if the <Generating Interval> has a value of zero, generating mark events will not be sent to the application.

The value of <Processing Maximum> is the maximum number of increments that will be performed during document processing. The value of <Processing Interval> is the percent interval between processing events sent to the application (e.g., if the <Processing Maximum> is 100 and the <Processing Interval> is 10, a processing event will be sent to the application for every 10% of the document processed).

Like the <Processing Interval>, the value of <Rendering Interval> and <Generating Interval> are the percent interval between rendering and generation events respectively that are sent to the application (e.g., if the <Rendering Interval> is 10, a rendering event will be sent to the application for every 10% of the document rendered).

Increment -
The Expression field determines the number of processing increments that are added to the internal processing counter. When the number of increments reaches the value set by the <Processing Maximum>, a final processing event will report 100% of the document has been processed. If not set, the default for the value field is 1.

» Back to the Table of Contents. «

Method Definition
Description:

Adds a new method or updates an existing method definition. In FinerEdge Publisher, methods represent callable (and therefore reusable) objects that can be utilized by more than one document. All other elements (with the exception of the non-visible outermost Document element) must reside within a method. Unlike other content elements (e.g., span, div, table), methods may not be embedded within other methods.

One or more methods exist within each entity, regardless of the entity being a main document entity (i.e., an entity having a valid XML prolog and DTD) or a module entity. Furthermore, one of the methods within each main document entity must be specified as the "Main method" (see the corresponding field below) and is the first method invoked by FinerEdge Publisher.

Entities may form a logical hierarchy (i.e., a tree structure) to any level or depth desired. That is, entities need *not* just exist as a document entity at the first level and a set of all possible module entities at the second level (i.e., three or more levels are possible and may represent a more desirable structure for a particular organization or group). For example, a reusable entity may contain methods that utilize methods located within other entities. When a higher-level entity (i.e., one that references other entities) is referenced by a document entity, the hierarchy of the higher-level entity becomes known (and callable) from that document. Any duplicate entity references are automatically resolved by FinerEdge Publisher.

Each method (including the main method) may have zero or more parameters. Separate variables are established for each parameter upon entry into the method and are subsequently discarded when the method is exited. By default, parameters are passed "By Value" such that a caller's variable or constant value is copied into the method but not copied back to the caller when the method is exited. Parameters may also be designed as "By Reference" in which case the value of the parameter's corresponding variable is copied back to the caller's variable when the method is exited. If a parameter is designed as "By Reference", the caller must supply a currently defined variable (i.e., a constant value may not be used).

Fields:

Name
The name of the method. Methods are used (called) by referencing this name.
Main method
Designates this method as the first method that is called by FinerEdge Publisher for a document entity. All methods may be called from any other method. However, circular method references will be detected and result in an error.
Parameters
The list of parameters in specific top-to-bottom (i.e., left-to-right) order of appearance. When a parameter is selected from this list, the fields below are populated for subsequent update or deletion.
Parameter
The name of the parameter being added, updated, or deleted. A method-relative variable is established with the same name as this parameter.
By reference
Designates a parameter as being passed "By Reference" as opposed to "By Value" (please refer to the explanation above under "Description").
Initialization
A number constant value, floating point constant value, string constant value, or an "any type" ("*") value. An initialization constant sets the corresponding method's variable to be a type of number, float, string, or "any type" ("*"). With the exception of "any type", when a caller attempts to pass an incorrect type, an error is reported. In addition, the initialization constant also designates a parameter as optional and further supplies a default value for the visual designer to employ. (Note: An "any type" value is initially seen as an empty string.)
Change
When a parameter item is not selected from the Parameters field, it will be appended to the end of the list, otherwise the parameters will be updated into the selected position within the parameters list. A Change, Move up, or Delete action will unselect the Parameters field in preparation for a possible parameter addition.
Move up
Move the currently selected parameter up within the Parameters field.
Delete
Delete the currently selected parameter from the Parameters field.
» Back to the Table of Contents. «

New Document
Description:

Either creates a new document entity with a main method, or from a database definition, or from an XML data file. Note: Module entities are created by adding a new entity within the entity view that does not yet correspond to a physical file (i.e., in this case the physical file for the module entity will be automatically created).

Fields:

Main method
Create a new document entity and it's first (main) method.
Database definition
Create a multi-connection and multi-query database definition, and then subsequently create an entire document from that definition that processes the information in the referenced connections and queries.
XML data
Create an entire document based upon the structure of an XML Data file. The information and attributes within the XML Data file are processed by the newly created document.
» Back to the Table of Contents. «

Option
Description:

For an exit tag, immediately exits either the innermost loop of a method (i.e., for or while) or the method itself.

For an outlineitem tag, specifies one or more candidate levels for the outline item separated by comma characters. The ref-level style property of each reference item is used to locate the first outlineitem having a corresponding candidate level and format its contents into the document.

Fields:

Option
For an exit tag, a value of LOOP exits the most current (innermost) loop, whereas a value of method exits the active method.

For an outlineitem tag, a value of 1 designates the top-most level in the outline heirarchy. Outline heirarchy level values range from 1 to 20.
Level-key
For an outlineitem tag, specifies the optional key for this level of the outlines item. The optional level-key allows multiple outlineitems for an outline to be declared at the same level with different keys. The appropriate outlineitem is selected based upon the corresponding ref-level-key style property of the reference items.
» Back to the Table of Contents. «

Outline
Description:

An outline specifies one or more outline items. Relative to the refsearch constraint, an outline heirarchy of reference items is created with respect to their ref-level style property. For each reference item in the heirarchy, the ref-level style property is used to locate the corresponding outline item and format its contents into the document.

Fields:

Refsearch
Uses the reference items in the outline that match the regular expression given by this field. A value of "^OLDef" will use the default outline items.
Refsort
Specifies a sort order for the reference items to be retrieved for this outline. Must be in the same format as described by the refsort function in the FinerEdge Publisher Reference Manual.
» Back to the Table of Contents. «

PageRule
Description:

Defines a page rule, which is composed of margin rules and styles.

Fields:

Type name
Optional type name constraint.
Pseudo classes
First page, blank page, left page, or right page constraints.
Style
Style properties that apply to the document pages.
Top
Style properties that apply to the top-center margin page area.
Bottom
Style properties that apply to the bottom-center margin page area.
Left
Style properties that apply to the left-middle margin page area.
Right
Style properties that apply to the right-middle margin page area.
» Back to the Table of Contents. «

Page/Column Break
Description:

Adds or updates the fields of a pagebr or colbr element. FinerEdge Publisher supports two table models, the HTML tr/td model and the versatile div/colbr model. When the div/colbr table model is used, the colbr element causes the next defined column within the current Table to be made active. Any subsequent processing is done within the new column until another colbr element is encountered or the end table element is seen. When a colbr element is seen in the last column of a table, the first column is again wrapped around and made active.

The pagebr element performs a "logical" page break, which may or may not result in a physical page break. When "logical" page breaks are encountered (either implicitly or explicitly by invoking the pagebr element), a "checkpoint" is taken of the current location, styles, etc. within the document and the next Table element column is processed. This action is repeated until all of the elements and text that can be formatted on a particular page have been processed.

When a physical page break is finally performed, any active elements are closed and the pageareas are formatted. On the next page, the pagearea spacing is taken into account, the pending elements are reopened, and the "checkpoints" are resumed. The checkpoints themselves are dynamic and may span multiple pages prior to being discontinued (i.e., closed).

Fields:

Height
For a colbr or pagebr element, this field specifies an optional height (explicit or percent) that must remain on the page, otherwise a column break or logical page break will occur respectively.
Next
If this field is specified ("Odd", "OddBlank" or "Even", "EvenBlank"), the next page will start on an odd or even page boundary respectively. The values "OddBlank" and "EvenBlank" will additionally not format any pageareas on the blank pages (otherwise pageareas will be formatted on blank pages). This field is only applicable to a pagebr element.
Page
Changes the visible document page number. This field is only applicable to a PageBR element.
» Back to the Table of Contents. «

Plot
Description:

Invokes the plotting engine with the designated plot definition to produce an image file that can be subsequently used with the style property background-image.

Fields:

Name
The name of an existing plot definition file.
Variable
The variable name that will contain the automatically created image file name. If the variable name does not exist it will be created.
Type
The output image type.
Parameters
Optional attribute specifies additional parameters that are specified within the plot definition as replacement parameters. The parameter string has the format:

<name>: <value> [ ; <name>: <value> ]
DPI X
Optional x-direction resolution of the produced chart. If a value is not given or is less than x-direction standard screen resolution, then the standard screen resolution is assumed.
DPI Y
Optional y-direction resolution of the produced chart. If a value is not given or is less than y-direction standard screen resolution, then the standard screen resolution is assumed.
Set
Optionally specifies additional parameters that are used with the plotting engine to initialize the output type set by the "Type" field.
» Back to the Table of Contents. «

Preferences Document Tab
Description:

Adds or updates various default document preferences.

Fields:

Catalog
The name of the catalog file used by the IDE.
Theme File
The name of the FinerEdge Publisher theme file used by the database definition query editor.
Document Dir
The default directory in which document entities are located and saved.
Result Dir
The default directory in which generated document outputs are saved.
Help Dir
The default directory where all FinerEdge Publisher help files are located.
Date format
The default date format used in documents that do not override their date format. For a description of the date format options, please refer to the topic Entity Properties within this manual.
Date delimiter
A single character date delimiter.
Time format
The default time format used in documents that do not override their time format. For a description of the time format options, please refer to the topic Entity Properties within this manual.
Time delimiter
A single character time delimiter.
Decimal point
A single character decimal point delimiter.
Thousand
A single character thousands delimiter.
Currency
A single character currency delimiter.
Update Document Dir
Copy the files from the Common App Data location to the user's Document directory. This action will update the FinerEdge sample documents and associated files, but will not overwrite or delete any user-specific documents.
» Back to the Table of Contents. «

Preferences Environment Tab
Description:

Adds or updates various default environment preferences.

Fields:

Dll x86 Dir
Directory to set for the 32-bit (x86) DLLs.
Dll x64 Dir
Directory to set for the 64-bit (x64) DLLs.
Chart Server
Chart server optional parameters (for testing purposes).
Process file
Optional name of the intermediate process file (must be set for "Process mode").
Process mode
Intermediate processing mode: 0=Normal, 1=OutputNormalPackNone, 2=OutputNormalPackTemp, 3=OutputNormalPackAll, 4=OutputOnlyPackNone, 5=OutputOnlyPackTemp, 6=OutputOnlyPackAll.
» Back to the Table of Contents. «

Preferences Environment Tab
Description:

Adds or updates various default form preferences.

Fields:

ASP url
The overridable Active Server Page (ASP) url that is generated for the form. If not set, a default value is assumed. For more information, please refer to the topic "ASPX and CSHTML Setup" in the FinerEdge Publisher Programmer's Guide.
ASP path
The overridable Active Server Page (ASP) path prefix that is generated for the form. If not set, a default value is assumed. For more information, please refer to the topic "ASP Setup" in the FinerEdge Publisher Programmer's Guide.
Temp dir
The overridable temporary folder name that is used to store the files generated while running the process. If not set, a default value is assumed. For more information, please refer to the topic "ASPX and CSHTML Setup" in the FinerEdge Publisher Programmer's Guide.
» Back to the Table of Contents. «

Preferences IDE Tab
Description:

Adds or updates various default IDE preferences.

Fields:

Comment (color)
The color of comment elements in both the visual designer and markup views.
Method (color)
The color of method elements in both the visual designer and markup views.
Style (color)
The color of style elements (not style properties) in both the visual designer and markup views
Content (color)
The color of content elements (e.g., Span, Div, Table, etc.) in both the visual designer and markup views.
Logic/Process (color)
The color of logic/process elements (e.g., If, For, Select, While, etc.) in both the visual designer and markup views..
Breakpoint (color)
The foreground color of a breakpoint indicator in the markup view.
Error highlight (color)
The background color for an element where an error has been detected in the markup view.
Run indicator (color)
The foreground color of the element currently being processed in the markup view (only shown when one or more breakpoints have been set).
Default to markup
When a document is opened, default to the markup view (otherwise default to the visual designer view).
Metric display
In the visual designer view, show the rulers using a metric display (as opposed to a standard display).
Hide gridlines
In the visual designer view, hide Table element gridlines (otherwise gridlines are shown).
Display
In the visual designer and document generation views, display output using either GDI, GDIPlus (default), or DirectX.
Tab chars
In the markup view, the number of space characters to insert/delete when a the Tab/BackTab key is pressed (an entire range of lines may also be selected and Tabbed if desired).
Wrap chars
When invoking the wrap tool in the markup view, the default column position where a line is eligible for wrapping (with respect to whole words not being wrapped).
Show line numbers
In the markup view, show lines numbers to the left of each line.
» Back to the Table of Contents. «

PS/PDF Fonts
Description:

Adds or updates a catalog font specification (accessed from the Catalog Editor). FinerEdge Publisher supports embedding either TrueType or Type 1 fonts into both PDF and PostScript outputs. FinerEdge Publisher also supports embedding TrueType fonts into XPS outputs. However, TrueType fonts must allow embedding as determined by their respective copyright licenses, otherwise a message will appear in this dialog and the font will not be embedded.

Since FinerEdge Publisher is a Unicode system, TrueType fonts are by default embedded into PDF and PostScript outputs as CID keyed font definitions unless the "PS/PDF Options" dialog overrides this by selecting the option "TrueType 42 only" (in which case no character codes greater than 255 will appear as their actual symbols in the generated document).

Adobe Type 1 fonts must be available in Printer Font Binary (PFB) format as is typical for all Type 1 fonts residing on a Windows Workstation. FinerEdge Publisher automatically converts PFB files into Printer Font ASCII (PFA) files when embedding a font into a PDF or PostScript file.

The standard Base 14 font names are automatically available in all generated output types. However, defining a Base 14 font in the catalog will cause the respective font to be embedded in a document (i.e., Base 14 fonts are presumed to be resident in all PDF and PostScript viewers and interpreters). The Base 14 fonts consist of Courier, Helvetica (i.e., Arial), Times-Roman, Symbol, and ZapfDingbats.

To change TrueType embedding to be Type 1 font embedding for PDF and PostScript output, press the "Select" buttons to the right of each of the PDF/PostScript fields and select the corresponding PFB files for the font. If the PFB file is a valid Type 1 font, FinerEdge Publisher will display the actual font name below the applicable field.

To disallow a font from being embedded into a document, prefix each applicable PDF/PostScript field with a caret (i.e., "^"). This has no effect upon XPS outputs as fonts must be embeded. This will cause a font reference to be formatted into the document instead of actually embedding the font. Note: The referenced font must be available to the PDF viewer or PostScript interpreter, otherwise font substitution will occur.

Fields:

Windows
The Windows font name. Setting this field will also set the Regular, Bold, Italic, and Bold/Italic fields to their default names for font embedding.
Regular
The PS/PDF regular (i.e., non-bold and non-italic) font name. This value may be overridden for Type 1 fonts by pressing the "Select" button to the right of this field.
Bold
The PS/PDF bold font name. This value may be overridden for Type 1 fonts by pressing the "Select" button to the right of this field.
Italic
The PS/PDF italic font name. This value may be overridden for Type 1 fonts by pressing the "Select" button to the right of this field.
Bold/Italic
The PS/PDF bold/italic font name. This value may be overridden for Type 1 fonts by pressing the "Select" button to the right of this field.
» Back to the Table of Contents. «

PS/PDF Options
Description:

Sets or overrides PDF and PostScript generation output options.

Fields:

Version
Depending upon the type of generated output, this ComboBox field is populated with various options for output versions.
OPI
Enable Open Prepress Initiative (OPI) output codes for embedded images (also depends upon the OPI style property being set for a specific image).
OPI only
Generate only OPI output codes for images (i.e., no images are embedded within the generated output).
TrueType 42 only
When TrueType fonts are embedded within a PDF and PostScript output, generate only TrueType 42 font specifications instead of the default CID keyed font specifications (in which case no character codes greater than 255 will appear as their actual symbols in the generated document).

CIDMap
When CIDMap is false, an identity map is used and any text characters are translated to glyph indexes. This results in a smaller sized PostScripty file being generated. When CIDMap is true, a CID map is generated and any text characters are not translated to glyph indexes.

» Back to the Table of Contents. «

Recordset
Description:

The Recordset element represents the primary communication vehicle between FinerEdge Publisher documents and database queries, XML files, and applications (hereafter collectively referred to as just "application"). External data in FinerEdge Publisher is represented by variables that contain whole numbers, floating point numbers, strings of text, dates, and times. External variables are normally organized into functional groupings called recordsets. Each recordset is created and named by the associated application including all of the variables that belong to that recordset.

Recordsets are categorized as either single-record or multiple-record recordsets (i.e., one-to-many relationships). One-to-many relationships are represented by a dynamic "drilldown" mechanism in FinerEdge Publisher that is superimposed upon the recordsets. Single-record recordsets and global external variables do not require the use of the Recordset element. Once the external variables are created and populated by the application, they are available to the document author simply by referring to their names.

Multiple-record recordsets require the use of the Recordset element. First, a drilldown is created for a particular recordset by using the Action "New". Optional Parameters may also be used to provide any type of arbitrary information that is passed from the document to the application regarding the records requested in the drilldown. For more information, please refer to Recordset tag in the FinerEdge Publisher reference manual. Each record in a drilldown is referenced by a whole number starting from 1 (please refer to the function rsrecord within the FinerEdge Publisher Reference manual for more information) until the last record, which is signified by the function rsrecords.

In order to fetch a particular record, the document specifies the Action "Record" for the particular recordset name (usually within a "For" element loop). The record number is designated via the Expression field and must evaluate to a whole number. In turn, the application fetches the particular record's physical data and populates the external variables belonging to that recordset. When the document has finished with a drilldown, it must discard it by using the Action "Delete" for the recordset. This, in turn, returns the document to the previously active drilldown (if a previously active drilldown was active).

Fields:

Name
The name of the recordset known to the application.
Action
Either Select, New, Record, or Delete.
Expression
If the Action is Record, this expression must evaluate to a whole number indicating the record to fetch.
Fetch
This field controls when the Recordset's variables are populated after positioning to a record using a Record Action. After positioning to a record, a Fetch field value of "Now" will immediately populate all variables for a record. In contrast, a Fetch field value of "Later" will populate all variables only when the first variable of the recordset is actually used (e.g., a value of "Later" might be used when the variables of the recordset may not be accessed based upon certain conditions).
Parameters
Optionally used with either an Action of Select or New to pass additional information to the application. Selecting a new value from this list will populate the fields below.
Parameter name
The name of the particular optional parameter selected from the Parameters field.
Parameter value
The value of the optional parameter (may not contain a semicolon) selected from the Parameters field.
Change
When a parameter item has not been selected from the Parameters field, it will be appended to the end of the list, otherwise the parameters will be updated into the selected position within the parameters list. A Change, Move up, or Delete action will unselect the Parameters field in preparation for a possible parameter addition.
Move up
Move the currently selected parameter up within the Parameters field.
Delete
Delete the currently selected parameters from the Parameters field.
» Back to the Table of Contents. «

SeriesData
Description:

Create a data file for a subsequent series definition invocation.

Fields:

Name
The name of the recordset known to the application.
Value
The name of the data file that will be created.
Expression
The expression that will be used to write each record of the data file.
Mark
Optional attribute specifies the <Processing Interval>, <Rendering Interval>, and <Generating Interval> of the MARK tag's "Initialize" type "expr" attribute (please refer to the mark tag for more information).
Parameters
Optionally used to pass additional information to the application. Selecting a new value from this list will populate the fields below.
Temporary file
When "Yes" is specified, the data file will be automatically removed after the current document has been created. A value of "No" will retain the data file and can be useful when testing a series definition. The default temp mnemonic is "Yes".
Parameter name
The name of the particular optional parameter selected from the Parameters field.
Parameter value
The value of the optional parameter (may not contain a semicolon) selected from the Parameters field.
Change
When a parameter item has not been selected from the Parameters field, it will be appended to the end of the list, otherwise the parameters will be updated into the selected position within the parameters list. A Change, Move up, or Delete action will unselect the Parameters field in preparation for a possible parameter addition.
Move up
Move the currently selected parameter up within the Parameters field.
Delete
Delete the currently selected parameters from the Parameters field.
» Back to the Table of Contents. «

Set (Variable)
Description:

The Set element updates the values of one or more named variable with the result of an evaluated expression. If the variable names do not yet exist, they are first created. The type of the variables are dynamically set to the type of the evaluated expression, however the "type" function may be used to also determine a variable's type.

A variable's name may be optionally prefixed by the character "@" to indicate a global variable (e.g., database query variable). As long as a variable's name is uniquely identified, the prefix character is not needed. However, a variable without a prefix character is automatically assumed to be local to a method (i.e., the method's variables are searched first).

Late evaluation expressions may also be specified with the Set element, Var element, and style properties. For information regarding the use of late evaluation expressions, please refer to the FinerEdge Publisher Reference Manual.

Fields:

Variable
The name of one ore more variables or array elements separated by commas.
Expression
An expression that is first evaluated, and the resulting value and type are then assigned to the variables.
Null value
"Yes" sets the variables to a data source null state, whereas "No" resets the variables to a non-null state.
External variable
"Yes" allow the variable to be accessed external to the document and after document processing has completed (and prior to the next document being processed). "No" discards the variable after document processing has completed (i.e., the default).
» Back to the Table of Contents. «

Style Border Tab
Description:

Adds or updates border-oriented style properties. For the fields Border-style, Border-color, and Border-width, a Sides field option may be chosen to specify the values for the top, right, bottom, and left orientations in the most efficient manner possible (to include all four orientations individually). Based upon the Sides field option, the appropriate fields below it will be enabled or disabled.

When setting a color property, either a color mnemonic may be chosen from the ComboBox list of predefined colors or the corresponding "Custom" button (next to the selected color field) may be selected to allow a customized color to be specified. If the "..." button is selected, an expression that evaluates to either a color mnemonic or color specification may be used. Finally, an RGB (Red, Green Blue) or a CMYK (Cyan, Magenta, Yellow, Black) colorspace may be specified with each color employed.

Fields:

Border-style
Either a value of none, solid, dotted, dashed, double, groove, ridge, inset, or outset may be specified.
Border-color
A color specification (see the explanation under the Description for this dialog).
Border-width
The width or height of the border (depending upon if a left/right or top/bottom side is being set).
The border-style property may be set to the following values:

none
No border.
solid
Single solid border.
dotted
Border with dots.
dashed
Border with dashes.
double
Double solid border.
groove
Grooved 3-D border.
ridge
Ridge 3-D border.
inset
Inset 3-D border.
outset
Outset 3-D border.

» Back to the Table of Contents. «

Style Box Tab
Description:

Adds or updates box-oriented style properties. For the fields Margin and Padding, a Sides field option may be chosen to specify the values for the top, right, bottom, and left orientations in the most efficient manner possible (to include all four orientations individually). Based upon the Sides field option, the appropriate fields below it will be enabled or disabled.

Fields:

Width
The width of the element, which does not include the element's margin, border, or padding.
Height
The height of the element, which does not include the element's margin, border, or padding.
Rotate
Either a value of 0 degrees or blank (i.e., no rotation), 90 degrees (i.e., -270 degrees), or 270 degrees(i.e., -90 degrees) may be entered to rotate the element. Positive values indicate a clockwise rotation while negative values indicate a counter-clockwise rotation. All embedded text and elements are rotated by this operation, however embedded elements may not be rotated within already rotated parent elements.
Margin
The width or height of the margin (depending upon if a left/right or top/bottom side is being set). The margin is defined as the area just outside of the border (regardless of the border being specified or not).
Padding
The width or height of the padding (depending upon if a left/right or top/bottom side is being set). The padding is defined as that area just inside of the border (regardless of the border being specified or not), but outside of the element's content.
» Back to the Table of Contents. «

Style Image Tab
Description:

Adds or updates image style properties.

Fields:

Background-image 1
The background image applied to the current element. The background image can be a catalog image name, a relative or absolute file name, or a url. Relative names are with respect to the document entity's directory path. When the "Edit" button is pressed, the IDE will invoke the editor that is associated with the background image extension. Furthermore when invoked from the Visual Designer, the edited image is refreshed in the image cache and is shown when the style properties dialog is closed.
Background-image 2
An optional second image name that is used instead of Background-image 1 when performing HTML generation with a page mode of "none". When performing PDF or PostScript generation and the OPI style property is set, the optional second image name is used as the MainImage specification in place of Background-image 1. When the "Edit" button is pressed, the IDE will invoke the editor that is associated with the background image 2 extension. Furthermore when invoked from the Visual Designer, the edited image is refreshed in the image cache and is shown when the style properties dialog is closed.
Background-type
When this property is set, determines the mime type of the image and overrides the determination of the image type based upon the extension of the image name.
Background-repeat
Determines how an image is to be repeated. The value "no-repeat" indicates that the image is not to be repeated. The value "repeat" indicates that the image is to be repeated in both the x (left-to-right) and y (top-to-bottom) directions. The values "repeat-x" and "repeat-y" repeat the image in just the x and y directions respectively.
Background-position
Determines how an image is positioned within the current element. The first field specifies the image's vertical alignment (top, center, or bottom) while the second field specifies the image's horizontal alignment (left, center, right).
Background-size
Sizing will scale the image for display purposes, but will retain the image's original size, which will preserve the image's original clarity but also utilize the original amount of memory occupied by the image. A value of "contain" will scale the image for display purposes to the maximum size allowed by the parent box element. Please refer to the Prescale field above for an example.
Background-presize
Presizing will physically scale the image prior to it being output, which will reduce the memory occupied by the image. A value of "contain" will prescale the image to the maximum size allowed by the parent box element.

The mnemonic "cover" will non-proportionally pre-scale the image to fill the size of the parent element's box. This is especially useful for SVG images that show, for example, gradiants or other vector graphics that maintain their appearance when non-proportionally scaled.

For example, a 1200 dpi image can be "prescaled" to 300 dpi by specifying a prescaling factor of ".25" (to drastically reduce the embedded image size) and then subsequently "scaled" to max-uniform. When the image is zoomed, it maintains a sharper appearance longer while the print quality is also reasonably good.
Background-resize
When background-container is specified along with a background-image, this property determines if the containing element will be initially resized to be the same size as the supplied image, which is with respect to any image scaling that may be also be performed. The option "no-resize" indicates that the container is not resized to the image. The option "resize" indicates that the container is resized in both the x and y directions. The options "resize-x" and "resize-y" resize the container in just the x and y directions respectively.
OPI
When Open Prepress Initiative image substitution is used, this field specifies that another image file will be substituted by the lightweight thumbnail image specified by Background-image 2. For more information, please refer to the topic PS/PDF Fonts within this manual.
» Back to the Table of Contents. «

Style Font Tab
Description:

Adds or updates font-oriented style properties.

When setting a color property, either a color mnemonic may be chosen from the ComboBox list of predefined colors or the corresponding "Custom" button (next to the selected color field) may be selected to allow a customized color to be specified. If the "..." button is selected, an expression that evaluates to either a color mnemonic or color specification may be used. Finally, an RGB (Red, Green Blue) or a CMYK (Cyan, Magenta, Yellow, Black) colorspace may be specified with each color employed.

Fields:

Font-family
A list of fonts that will be matched (one at a time from left-to-right) against the resident fonts of the computing platform where the document is being generated (and stopping when a match is found).
Name
The name of a built-in Base-14 font, a system-known font name, or the name of a font defined in the currently active catalog. The "Select" button can be pressed to select a system-known font name.
Change
When a font name is not selected from the Font-family field, it will be appended to the end of the list, otherwise the font name will be updated into the selected position within the Font-family list. A Change, Move up, or Delete action will unselect the Font-family field in preparation for a possible font Name addition.
Move up
Move the currently selected font name up within the Font-family field.
Delete
Delete the currently selected font name from the Font-family field.
Font-style
Either the values normal or italic may be specified.
Font-weight
Either the values normal or bold may be specified.
Font-size
The vertical size of the font, which can be a value with a measurement suffix (usually specified in points [pt]) or one of the following mnemonics:

xx-large
The extra, extra large font (18pt) is three increments greater than medium.
x-large
The extra large font (16pt) is two increments greater than medium.
large
The large font (14pt) is one increment greater than medium.
medium
The medium font is 12pt and each increment is 2pt.
small
The small font (10pt) is one increment less than medium.
x-small
The extra small font (8pt) is two increments less than medium.
xx-small
The extra, extra small font (8pt) is two increments less than medium.
larger
One increment greater than the parent element font.
smaller
One increment less than the parent element font.
Color
The foregound color of the text.
Background-color
The background color of the current element.
» Back to the Table of Contents. «

Style Page Tab
Description:

Adds or updates page-oriented style properties.

Fields:

Standard/Custom
Shows/enables fields for either a standard known paper name or a custom width and optional height to be specified.
Name
Standard known paper name.
Width
Width of the page.
Height
Optional height of the page. If a value is not entered, the value specified by the width is used.
Orientation
Either "portrait" or "landscape".
Model
Controls how the margin rule page areas are formatted. If the "HF-LR" model is specified, the headers and footers extend to the page margins and the left and right page areas fall vertically within the headers and footers. If the "LR-HF" model is specified, the left and right page areas extend to the page margins and the headers and footers fall horizontally within the left and right page areas.
Gutter
Adds an alternating left or right margin to each page. In addition when set to a value greater than zero, the gutter property invokes even/odd page processing. With even/odd page processing, the document will be generated with an even number of pages. In addition, the pagebr tag also processes even page breaks.
Content
When the "content" property is set to "element(running name)", the running name references an element that was identified by the position style property referencing the same running name.
» Back to the Table of Contents. «

Style Position Tab
Description:

Adds or updates position-oriented style properties.

Fields:

Position
May be set to either "static", "relative", "absolute", "fixed", or "running(running name)". The value "static" is the default value and indicates that the element is part of normal flow.

The value "relative" indicates that the element is also part of normal flow except that it is subsequently adjusted relative to its current static position via the Relative/Absolute Position group properties. In many cases relative positioned elements specify no offset and instead are used as containers for absolutely positioned child elements.

In contrast, the value "absolute" indicates that the element is not part of normal flow and is subsequently adjusted with respect to the first non-static parent element via the Relative/Absolute Position group properties. The value "fixed" is also not part of normal flow and is subsequently adjusted with respect to the page itself.

Finally, the value "running(running name)" indicates that the element is not part of normal flow. This can only be used with outer div or table elements. Running elements are utilized by margin rules within page rules and specifically by the content style property referencing the same running name, which is simply a name that uniquely identifies the running element.
Float
Utilized with a block-level element in order to float it either to the "left" or "right" within a parent block-level element. If an element is floated to the "left" of a parent element, subsequent text and elements are positioned (wrap-around) to the right of the floated element. If an element is floated to the "right" of a parent element, subsequent text and elements are positioned (wrap-around) to the left of the floated element. Float is reset to "none" when "position" is set to "absolute" or "fixed" for an element.
Clear
Utilized with a block-level element in order to position it vertically and immediately following an applicable floating element. When the "clear" is set to "left", positioning occurs if the left edge of the block-level element is adjacent to an applicable floating element. When the "clear" is set to "right", positioning occurs if the right edge of the block-level element is adjacent to an applicable floating element. When the "clear" is set to "both", positioning occurs if either the left or right edge of the block-level element is adjacent to an applicable floating element.
Relative/Absolute Position
This group consists of the left, top, right, bottom, and zindex properties and becomes enabled when the Position property is set to either "relative", "absolute", or "fixed". Relative positioning is relative to the element's "static" calculated position (within normal flow). In contrast, absolute positioning is not part of normal flow is positioned with respect to the first non-static element. Fixed positioning is also not part of normal flow and is positioned with respect to the page itself.

The zindex is applicable when the Position property is either "absolute" or "fixed". This property determines the order that the absolutely positioned elements are placed on the page, from lowest to highest. When a number is given, only positive values have meaning on each page starting from 0 (a value of "auto" is the same as setting the zindex to 0).
Page-break-before
Either a value of "auto" (i.e., the default) "always", "left", or "right" may be specified for a box element. When a value of "always", "left", or "right" is used, a logical page break is performed prior to the element. The element is then formatted either on the next page ("always"), the next even page ("left"), or the next odd page ("right"). When an optional height follows a value of "avoid" and the remaining page height is greater than or equal to this value, no page break is implied (otherwise the action of "avoid" is performed as previously described).
Page-break-after
Either a value of "auto" (i.e., the default) "always", "left", or "right" may be specified for a box element. When a value of "always", "left", or "right" is used, a logical page break is performed after the element. Subsequent elements are formatted either on the next page ("always"), the next even page ("left"), or the next odd page ("right"). When an optional height follows a value of "avoid" and the remaining page height is greater than or equal to this value, no page break is implied (otherwise the action of "avoid" is performed as previously described).
Page-break-inside
Either a value of "auto" (i.e., the default) or "avoid" may be specified for a box element. When a value of "avoid" is used, the entire element must fit onto the current page otherwise a logical page break is implied. When an optional height follows a value of "avoid" and the remaining page height is greater than or equal to this value, no page break is implied (otherwise the action of "avoid" is performed as previously described).

For Table elements, a value of "avoidrow" may also be specified to indicate that whole or complete rows (height-wise) must fit onto the page otherwise a logical page break is implied.

Note: The document author is encouraged to only use this property when necessary since a greater amount of overhead (i.e., additional processing time) will result for each page processed.
Colspan
The number of parent table columns that are used by this element, which is applicable to div, td, and table elements that are contained by a parent table. In addition, the number of columns used by this element is further constained by the number of columns remaining in the current row of the parent table.
Rowspan
The number of parent table rows that are used by this element, which is applicable to div, td, and table elements that are contained by a parent table. In addition, the number of rows used by this element is further constained by the number of rows remaining in the parent table.
» Back to the Table of Contents. «

Style Reference Tab
Description:

Adds or updates reference-oriented style properties.

Fields:

Ref-search
This value is used with the reference functions to search for and retrieve specific references, which assist in defining table of contents, indexes, page-relative information within pageareas, etc.
Ref-text
An optional value that supplies text stored along with a reference in addition to the value assigned by the ref-search property.
Ref-keys
Multiple values can be given separated by commas that represent the sort keys for a particular reference in decreasing order of significance (and may be subsequently used to sort the reference table using the refsort function).
Ref-link
A value assigned to this property creates a hypertext link for a box element having the same name as the value specified by "ref-search". Hypertext links will be generated for View, PDF, XPS, and HTML outputs.
Ref-level
The numeric level of this reference item starting from the default value of 0, which is the top-most outline level. If gaps exist between the levels of two adjacent reference items for an outline, additional items will be automatically created to fill in the outline hierarchy.

» Back to the Table of Contents. «

Style Text Tab
Description:

Adds or updates text-oriented style properties.

Fields:

Line-height
The distance between the baselines of two adjacent lines of text. The line-height is usually set to be 120% of the font-size. If the line-height is less than 120% of the font size, the line-height is automatically adjusted up to be 120% of the font size.
Vertical-align
All vertical alignment is performed relative to the baseline of the current line, which is only determined after all of the text fragments and elements within the line have been calculated.

baseline
Baseline of the font.
sub
Subscript.
super
Superscript.
top
Top of the line.
middle
Middle of the line.
bottom
Bottom of the line.
Text-align
left
Left justified text.
right
Right justified text.
center
Centered text.
justify
Fully justified text.
Text-indent
Specifies the indentation that will occur within a block-level element. If the key word "hanging" is not used, only the first line of a block-level element is indented (otherwise all lines but the first line of a block-level element are indented).
Word-spacing
A value of normal or a zero value absolute measurement implies default word spacing, which is usually optimal for cross-media generation. Non-percent measurements may be either positive or negative and the resulting values are then factored into the default word spacing. Percentage values are relative to the default setting being 100%. Since the default word padding is 5% of a word's width (with a maximum of half the width of a space character in the selected font), then a value of 95% represents no default word padding.
Overflow
A value of "hidden" indicates that text will be truncated following the last line of text that can be output within the given dimensions of the box element. In contrast, a value of "visible" indicates that the height of a box element can be automatically enlarged to accommodate the text.
Text-decoration
none
No line is drawn along with the text.
underline
Draw a line along the baseline of the text.
overline
Draw a line along the top of the text.
line-through
Draw a line through the middle of the text.
Decoration-align
The field only has an effect if the "text-decoration" property is set to an option other than "none". In this case, "decoration-align" will cause the line to be drawn with respect to any padding specified.

left
Align to left edge of the element.
right
Align to right edge of the element.
center
No alignment to edge of the element.
justify
Align to both left and right edge of the element.
» Back to the Table of Contents. «

Styles Definition
Description:

Create or update the Class styles, ID styles, and Page Rules defined within this style element. All styles are accessible by all Methods within the current document. A style that is defined with the same name as an existing style will override the existing style.

Fields:

HRef
Optionally specifies the name of an input file or uri that typically has an extension of "css". The file is expected to contain valid css specifications in a UTF-8 encoding.
Style list
The list of Class styles, ID styles, and Page Rules within this style element, one row for each defined. Selecting a row from the list will populate the fields below.
Class/ID/Page Rule
Specifies a Class style, ID style, or Page Rule. If a Class style is specified, the Tag field will be enabled thus allowing a selection to be optionally made from the Tag list.
Tag
Either a blank or the value of table, div, or span may be selected for a Class style. Td elements equate to div elements for contextual selectors, whereas both td and tr elements equate to div elements for class selectors.
Name
The unique name of the Class or ID style being edited.
Properties
The properties for the Class style, ID style, or Page Rule being edited. If a Page Rule is being edited the button to the right of this field invokes the page rule editor, otherwise the style editor is invoked.
Change
If the style is known in the Style list, the applicable style will be updated (otherwise a new style will be added to the Style list).
Delete
Delete the currently selected style from the style list.
» Back to the Table of Contents. «

SVG
Description:

Add or update a svg element. The svg element prepares SVG input, from a string or file source, for subsequent processing by the Scaleable Vector Graphics engine. It then produces a temporary SVG file that can be subsequently used with the style property background-image.

Note: It is not necessary to use this tag if the SVG XML already exists as a file or url and fields such as Parameters, DPI X, DPI Y, Size X, and Size Y are not utilized. In this case, the file or url can be directly used with the background-image style.

Fields:

Source
The source of the import input, which may be either "String" for a string variable or "File" for a file name or url.
Expression
When the source is "String", designates the input string. When the source is "File", designates the name of an input file or uri.
Variable
The variable name that will contain the automatically created temporary image file name set by this element. If the variable name does not exist it will be created.
Parameters
Optional attribute specifies additional parameters that are specified within the SVG definition as replacement parameters. The parameter string has the format:

<name>: <value> [ ; <name>: <value> ]

The <name> must be in <alphanumeric> format. The <value> can be any characters except a semicolon. Alternatively the <value> can be surrounded by apostophes (single quotes) in which case it may contain semicolon characters.
DPI X
Optional x-direction resolution of the produced SVG. If a value is not given, then the standard SVG resolution is assumed. The final image is also affected by the prescale style property, which is performed by the SVG engine.
DPI Y
Optional y-direction resolution of the produced SVG. If a value is not given, then the standard SVG resolution is assumed. The final image is also affected by the prescale style property, which is performed by the SVG engine.
Size X
Optional width of the canvas surface in pixels, which overrides all other values either explicitly set or implied.
Size Y
Optional height of the canvas surface in pixels, which overrides all other values either explicitly set or implied.
» Back to the Table of Contents. «

Table
Description:

Add or update a Table element. Table, Div, and Span elements may be embedded (i.e., nested) within each other. However, while Span elements can be embedded in other Span Elements, Table and Div elements may not be embedded within Span elements.

Fields:

Type
A value of Normal causes all cells for a particular row to be synchronized height-wise prior to starting a subsequent row. If the table's "type" attribute has a value of "Adjust", "Left", "Center", or "Right", it will be applied as a default to any columns that have not been specified with an explicit formatting option. Additionally, If the table's "type" attribute has a value of "Left", "Center", or "Right", and the tr/td table model is used, an inner div is automatically added with a text-align style of "Right" for the "Left" and "Center" column options, and a text-align style of "Left" for the "Right" column option.

A value of AutoCOLBR causes automatic column breaks to be performed on the columns of the table relative to the height of the table. When using the AutoCOLBR type, the tr/td table model should not be employed nor should any ColBR elements normally appear within the table. The last column of an AutoCOLBR table may expand the height of the table (and may generate a page break) unless the style property "overflow" is set to "hidden".
Class
Specifies a style class. The ComboBox list is populated with all known style classes.
ID
Specifies a style ID. The ComboBox list is populated with all known style IDs.
Style
Specifies individual style properties that are applied to the table element. The button to the right of this field invokes the style editor, which allows style properties to be edited within an intuitive form-driven environment.
Cell style
Specifies style properties that are applied to all table cells whenever a td element is seen. A special case arises when the border-style property is set to the single value of "solid" (i.e., as applicable to all four sides). In this case the borders of adjacent td cells will be displayed only once.
Columns
The list of columns used by this table. Selecting a particular column from the list of columns will populate the fields below. Note: When editing a document from the visual designer, it's far easier and more advantageous to add and delete columns using the corresponding menu and toolbar operations. In particular, the visual designer will insure that all of the cells for a column are correctly added or deleted in addition to updating the list of columns (i.e., this field).
Column
Represents the particular column being edited within the list of columns. An asterisk ("*") for any column indicates a variable width column. FinerEdge Publisher adds the widths for all "known" table columns and then subtracts that sum from the width of the parent element. The result is then evenly distributed over the table's variable width columns.
Default, Variable, Skip, Divider, Adjust, Left, Center, Right
A value of Default will allow the table type to determine the default column type. A value of Variable utilizes the calculated value discussed in the Column field of this topic. A value of Adjust causes the content of each column to be measured to determine it's maximum line width. The maximum line widths for all variable width columns are then added together to determine the total maximum line width. Next, the maximum line width for each column is divided by the total maximum line width resulting in a fraction of the total. Finally, each fraction is then applied to the remaining width of the TABLE element thus yielding the adjusted width for each variable column.

When either a Left, Center, or Right is specified, the content of each column is measured to determine it's maximum line width and recorded. For these types of columns, when table model includes an inner div element (i.e., table, div, div), the recorded value is applied to the inner element's width. Inner elements are additionally aligned to the Left, Center, Right of the parent element.

When Skip is specified, the column will be skipped when performing an explicit or implicit column break. No additional drawing will take place within the column with the exception of filling in the skipped area with the current background color. When Divider is specified, the column will also be skipped during a column break, however a centered vertical line is drawn from the top border to the bottom border of the table element having with the same width and color of the table's right border.
Change
When a list item is not selected from the Columns list, it will be appended to the end of the list, otherwise the Column will be updated into the selected position within the Columns list. A Change, Move up, or Delete action will unselect the Columns list in preparation for a possible list addition.
Move up
Move the currently selected Column up within the Columns list.
Delete
Delete the currently selected Column from the Columns list.
Rows
This field is only enabled when creating a new table and specifies the number of initial rows to create the table with.
Table model
This field is only enabled when creating a new table and specifies the desired table model to initially create the table with. The tr/td emulates the traditional HTML table model, while div/colbr is a versatile table model that is particularly useful when specifying a table type of "AutoCOLBR".
» Back to the Table of Contents. «

Use Method
Description:

Adds or updates a Use element. Use elements represent invocations of known Method definitions. When a Method is invoked (called), document processing is halted at the Use element until the Method exits at which time processing continues with the next element following the Use Element.

Fields:

Name
The name of the method to invoke (call). The ComboBox lists all of the currently known methods. When a method is selected, any parameters declared by that method are shown in the area below this field.
Parameters
The list of parameters passed to the Method in specific top-to-bottom (i.e., left-to-right) order of appearance. When a parameter is selected from this list, the fields below are populated for subsequent update or deletion.
Parameter
The name of the parameter being passed to the Method. If the Method has declared a parameter to be "By reference", a variable must be passed so that, upon exiting the Method, the corresponding variable's value can be updated. An asterisk ("*") may be specified in order to use the parameter's initialization value.
Change
When a parameter item is not selected from the Parameters field, it will be appended to the end of the list, otherwise the parameters will be updated into the selected position within the parameters list. A Change, Move up, or Delete action will unselect the Parameters field in preparation for a possible parameter addition.
Move up
Move the currently selected parameter up within the Parameters field.
Delete
Delete the currently selected parameter from the Parameters field.
» Back to the Table of Contents. «

Variable (Output)
Description:

Adds or updates a Var element. A Var (i.e., Variable) element evaluates an expression and writes the resulting value to the generated document output.

Late evaluation expressions may also be specified with the Set element, Var element, and style properties. For information regarding the use of late evaluation expressions, please refer to the FinerEdge Publisher Reference Manual.

Fields:

Expression
This field contains an expression that is evaluated and the resulting value written into the generated document output.
Option
When the option is "xml", all "<", ">", and "&" characters are translated to "&lt;", "&gt;", and "&amp;" xml entities sequences respectively.
Length
The length (or implied width) of the element when the resulting expression is an empty string (or perhaps zero). This field is optional and will default to the value set by the Entity Properties.
Character
The character that is repeated for the Length field's value when the resulting expression is an empty string (or perhaps zero). This field is optional and will default to the value set by the Entity Properties.
Blank when zero
When the resulting expression evaluates to a zero number and this field is selected, the same processing will occur as is performed with an empty string (please refer to the explanation for the Length and Character fields above).
Class
Specifies a style class. The ComboBox list is populated with all known style classes.
ID
Specifies a style ID. The ComboBox list is populated with all known style IDs.
Style
Specifies individual style properties that are applied to the element. The button to the right of this field invokes the style editor, which allows style properties to be edited within an intuitive form-driven environment.
» Back to the Table of Contents. «

XMLData Editor
Description:

Adds or updates an XMLData element. In addition when creating an FPML specification from an existing XML Data file, an entire document can be automatically generated that works with the structure (hierarchy) of the XML Data file. The newly created document can be immediately used to show the contents of the XML Data file in any of the generated output formats. In addition, the newly created document provides a good starting point in which to begin visual styling.

Fields:

XML Data
Either the name of an absolute XML Data file, relative XML Data file, or a catalog reference to an XML file (relative files are with respect to the document entity's directory path). The ComboBox list is populated with all external entities that exist within the current catalog, however only external entities that represent XML Data files should be selected.
XML Tree
The XML Tree is populated with a limited number of elements (normally 1000) that exist within the XML Data file so that the individual can verify the file's content and interpretation. However during normal document processing, the entire XML Data file is available (if desired) for inclusion in the generated output.
Generate Document
Generate or regenerate a complete FPML document that is capable of reading and processing the currently selected XML Data file structure. Note: If a corresponding document does not exist for a particular XML Data file and this dialog is exited normally, FinerEdge Publisher will ask the individual if they wish to generate a document.
Generate to Clipboard
Generate or regenerate the unique parts of the document that corresponds to the currently selected XML Data file and copy the output to the clipboard. The content of the clipboard may then be pasted into an existing document.
Generate format
When a generate theme is selected (see below), either a Field or Table type format can be applied. A sample of the Generate format and theme is shown in the area to the right of this field.
Generate theme
A number of predefined (but extensible) themes are supplied with FinerEdge Publisher. By selecting one of the themes, a sample of the Generate format is shown in the area to the right of this field. Also, the sample shown will vary based upon the Generate format selected.
Include Arguments
Generate FPML that includes the display of any arguments that are associated with the XML elements.
» Back to the Table of Contents. «


Chapter 10 - Database Definitions and Query Editor
Query Editor
Description:

The FinerEdge Publisher Query Editor creates and manages FinerEdge SQL files (i.e., XML-based files with the .fsq extension). As such, FinerEdge Publisher comes with a robust integrated provider mechanism that is capable of simultaneously extracting information from multiple connections, with each connection having multiple queries. The FinerEdge provider mechanism supports ODBC, OLEDB, ADO provider methods, which may be intermixed between connections of the same FinerEdge SQL file.

One or more FinerEdge SQL files can be specified via querydata elements. Each query within a FinerEdge SQL file can be referenced (and is driven by) corresponding Recordset elements that use the names of the queries as specified by the FinerEdge SQL file author. For more information, please refer to the topic Recordset within this manual. In addition, the names of the tables and fields specified by the FinerEdge SQL file author are used to create Recordset document variables that can then be used by document authors in any type of document processing or output.

The most straightforward way to enable a document to use particular connections is to allow the query editor to either initially create an entire document from all defined queries or only generate a portion of a document that corresponds to a specific query (generated to the clipboard for subsequent pasting into an existing document). A formatting theme may also be optionally set for each query, which will generate preformatted output as a starting point from which to then enhance the document (if desired).

When a new document and FinerEdge SQL file is being created via the Query Editor, the equivalent of a "Insert Connection and Query" action is automatically initiated. For more information, please refer to the topic New Document within this manual. In this case, the user is "talked" through establishing an initial connection and query, while simply pointing and clicking, as FinerEdge Publisher explores the data source (and presents the user with appropriate lists of choices) at increasingly finer levels of detail. For example, a connection and query will show a checklist of all tables that are available. For each table selected, a checklist of available table fields are then shown. By simply checking the desired tables and fields, the elements will be visually established within the Query Tree. Please refer to the "New" field (button) below in order to establish any further elements using the same procedure just described.

Common Fields:

Query Data
Either the name of an absolute FinerEdge Publisher SQL file, relative SQL file, or a catalog reference to a SQL file (relative files are with respect to the document entity's directory path). The ComboBox list is populated with all external entities that exist within the current catalog, however only external entities that represent SQL files should be selected.
Query Tree
Shows all elements and their relationships to each other that are currently defined in the FinerEdge SQL file being edited. Selecting a particular element will populate the fields of the respective element as discussed later in this topic. With respect to the type of element and their necessary imposed relationships, elements may be repositioned and/or moved simply by clicking on a specific element and dragging it to a new location. For example, a field can be moved ahead of another (target) field within the same table by dragging the desired field and dropping it on the target field (i.e., elements are always inserted prior to a target element).
New
Selecting this button displays a popup menu of choices.

Insert Connection and Query
Insert a new Connection and Query (including table Fields).

Insert Query for Connection
Insert a new Query for an existing Connection (including table Fields).

Insert Fields for Query
Insert additional table Fields for an existing Query.

Insert Calculated Field
Insert a calculated field where an Expression will be specified.

Insert Join for Query
Insert a Left, Right, or Full Join an existing Query. (Notes: Inner joins are handled by configuring the "Where" field of a Query element.)
Delete
Delete the currently selected element.
Show SQL
Show the Structured Query Language (SQL) that is automatically created for a selected query.
Data Sources
Show the Windows data source administrator dialog.
Gen Doc
Generate an entire document based upon all queries (the query editor will also ask the user if they wish to generate an entire document, provided a corresponding document does not already exist, when exiting this dialog).
Gen Query
Generate a portion of a document to the clipboard based upon the currently selected query within the Query Tree field.
Gen Opts
Only shown if the Mode has been set to Normal. Display the generate options dialog, which allow the user to specify the generated header text, footer text, etc.
Validate Tags
Only shown if the Mode has been set to XML. Validates that all fields have been correctly associated with XML tag definitions. For more information, please refer to the topic XML Associations within this manual.
Mode
This field is only used when the query editor creates a FinerEdge Publisher document or portion of a document (i.e., based upon a specific query). A value of Normal causes FinerEdge Publisher to create a standard document, which is then used to generate cross-media publishing output. A value of XML causes FinerEdge Publisher to create a document that extracts information from a connection and subsequently generates an XML Data file from the extracted information.
Mode ...
Only shown if the Mode has been set to XML. This button allows an existing FinerEdge Publisher XML tags (.fxt) file to be associated with the Query definition (.fsq) file and the selected FinerEdge Publisher XML tags file to be loaded.
Connection Element:

Connection name
The internal name of a connection, which is referenced by one or more query elements.
Provider name
Can be set to either ODBC (default value), OLEDB, or ADO to select the database provider method. When the provider method is changed, the "Connection string" field must also be updated by pressing the button to the right of that field.
Connection string
Either a ODBC data source specification, OLEDB data link properties, or ADO data link properties depending upon the value of the Provider name field. This field is not usually edited directly and is instead set by pressing the button to the right of this field, which then invokes either the Windows data source selection dialog or the data link properties dialog.

If a connection expression contains the tilde character ("~"), it will be replaced with the directory of the SQL file. This allows a relative name to be specified for a database file location with ADO and OLEDB if applicable (e.g., for MSAccess files).
Query Element:

Query name
The name of this query, which corresponds to the name used by all Recordset element operations within the document.
Parent query
Queries may be nested (i.e., embedded within each other) and correspond to document Recordset elements being nested within each other. When one query is nested within another query, each record of information return by the outer query will invoke the inner query (with information from the outer query's record typically driving the inner query). For example, an outer query representing invoice records might cause an inner query to extract all invoice detail records for each invoice record. When one query is visually dragged and dropped inside of another query, this field is automatically set.
Connection name
The internal name of the connection used by this query.
Predicate
When None or ALL is set (i.e., the default), records having duplicate values are returned. When DISTINCT is set, only records having distinct values are returned.
Description
Descriptive text that is shown as a label for the query.
Where
This field specifies either a search condition (that restricts the records to be extracted) or the name of a stored procedure (starting with the pound sign "#"). The button to the right of this field invokes the FinerEdge Publisher SQL Expression editor described in this chapter. The "sp" button lists the applicable stored procedures and subsequently allows one to be selected.

A Where field search condition can have parameters that begin with the character "@" followed by a mnemonic name. A Where field stored procedure defines any parameters used. In both cases, the parameters are passed from the "recordset" and various related tags.
Parameters
This field is used during document generation only. For example, information may be passed from an outer query to an inner query. The parameter mnemonics used within a Where field search condition will appear in the Parameters dialog by pressing the button to the right of this field.

The "sp" button formats the parameters (if any) that are defined by a Where field stored procedure.
Generate format
Only shown when the Mode field is Normal. When a generate theme is selected (see below), either a Field or Table type format can be applied. A sample of the Generate format and theme is shown in the area to the right of this field.
Generate theme
Only shown when the Mode field is Normal. A number of predefined (but extensible) themes are supplied with FinerEdge Publisher. By selecting one of the themes, a sample of the Generate format is shown in the area to the right of this field. Also, the sample shown will vary based upon the Generate format selected.
Table rules
Only shown when the Mode field is Normal. This button invokes the Rules editor described later in this chapter. The optional table rules allow additional table-relative instructions to be generated for a document, which can alter the formatting of a table's rows and fields based upon the values of the table information (e.g., highlight rows only having specific values, etc.). While these types of formatting changes can easily be performed by the document itself, the SQL definition author may elect to preset certain type of formatting from within the Query Editor for generated documents.
Tag name
Only shown when the Mode field is XML. Associates this element with one of the applicable XML tags as shown by the XML Associations dialog described later in this chapter.
Tag attribute
Only shown when the Mode field is XML. Associates this element with one of the applicable attributes relative to the selected XML tag as shown by the XML Associations dialog described later in this chapter.
Field Element:

Table name
The name of the data source's table. If the field is calculated (i.e., an Expression is specified), this field must be left blank (otherwise, a valid table name must be given).
Field name
The name of the data source's table field.
Hide
Hide the field (i.e., do not show in the generated document).
Variable name
The FinerEdge Publisher document variable name.
Width
Specifies an optional width for the field that is only used during document generation.
Total
Automatically create a column total (as the last row) when a table format is selected by the query.
Description
Descriptive text that is shown as a label for the field and at the bottom of the FinerEdge Publisher SQL Expression editor when this field is selected.
Expression
A optional SQL Expression that is associated with the Field name for this field. If no expression is set, the Field name must refer to an actual field within the table.
Sort
When sorting is performed on the returned records, this field can be set to either None (do not sort by this field), ASC (sort this field in Ascending order), or DESC (sort this field in descending order). The first field having a sort option specified is the major key, however, table fields can also be rearranged to change the sort key order.
Option
The option CURRENCY represents a currency value displayed as a string relative to the currently set currency, thousands, and decimal delimiters. (Note: A number or floating point value is automatically displayed as a string relative to the currently set thousands and decimal delimiters.) The options DATE, TIME, or TIMESTAMP represent a date, time, or timestamp (i.e., date and time) displayed as a string relative to the currently set date/time formats and date/time delimiters.

The options BMP, GIF, JPEG, PNG, TIFF, and Image indicate that this field is a binary bit stream (i.e., a BLOB field) that contains an image. The options BMP, GIF, JPEG, PNG, and TIFF explicitly designate the stored image's format. In addition, BMP images embedded within an OLE Object (e.g., from MSAccess) are also handled.

The option "Image" indicates that the stored image formats may vary from database record to record. In this case, the field "Image field name" can point to a database field whose contents may be suffixed by a valid supported image extension (i.e., "bmp", "gif", "jpg", "jpeg", "png", "tif", or "tiff"). As an alternative, the Image field name can simply point to a field that uniquely identifies the image for naming purposes (but does not contain an image suffix) and the Image field type can point to a field that identifies the actual image type.
Image field name
When any of the image Options are selected, this field must point to a tinyint, short, long, or character field that uniquely identifies the image, although for efficiency you should select a field that will yield the shortest unique name (i.e., tinyint, short, and long before character fields, and shorter character fields before longer ones). Depending upon the field type, the identifing value is optimized and utilized to uniquely name the extracted temporary disk file containing the image. The temporary disk file name is returned in this field's variable, which can then be subsequently used by the document (e.g., to set the background-image style property on a formatting element).

Normally, any temporary files that are created are automatically removed when they are no longer needed. The exceptions to this rule are when documents are generated for either HTML or Text (e.g., XML exports) modes. In these two cases, the created DB image files are placed under a folder having the same name as the resulting output document (without the extension). In addition, the DB image file names returned in this field's variable are relative to the resulting output document (i.e., they are non-absolute path names).
Image field type
When the image Option is "Image", this field can optionally point to a character field that determines the actual image type. When this field is set, either "bmp", "gif", "jpg", "jpeg", "png", "tif", or "tiff" must be present somewhere within the text (the comparison is case insensitive).
Group name
Only shown when the Mode field is XML. Associates this element with one of the applicable XML groups as shown by the XML Associations dialog described later in this chapter.
Group attribute
Only shown when the Mode field is XML. Associates this element with one of the applicable attributes relative to the selected XML group as shown by the XML Associations dialog described later in this chapter.
New
Only shown when the Mode field is XML. Unconditionally forces a new XML group tag to be output even if the group name has not changed since the last group output.
Tag name
Only shown when the Mode field is XML. Associates this element with one of the applicable XML tags as shown by the XML Associations dialog described later in this chapter.
Tag attribute
Only shown when the Mode field is XML. Associates this element with one of the applicable attributes relative to the selected XML tag as shown by the XML Associations dialog described later in this chapter.
Join Element:

Joins exist within queries and connect records from two or more tables together so that they may be referenced as a single view (entity). While two tables are joined by a single join element, multiple join elements may be used within a single query. As a SQL convention, inner joins (i.e., those joins where records from two or more tables must simultaneously exist with the same key field values) are specified by the Where field of a Query Element (e.g., "Where Table1.Field1 = Table2.Field1").

Join To
The table name to join with the table name specified by the Join From field.
Join From
The table name to join with the table name specified by the Join To field.
Join Type
A Left join is where a record from Join To table must exist within the table fields specified by the "On" field below. A Right join is where a record from Join From table must exist within the table fields specified by the "On" field below. A Full join is where either a record from Join To table or the Join From table must exist within the table fields specified by the "On" field below.
On
A required SQL expression that connects one or more table fields of the Join To table with one or more table fields of the Join From table.
» Back to the Table of Contents. «

Generate Options (Query)
Description:

This dialog allows optional header text, header image, header image position, footer text, date/time options, and various character delimiters to be specified and subsequently used during document generation. In addition, the style properties specified by the primary query (i.e., outermost query/first query) are utilized when formatting the document's header and footer.

Fields:

Header
The optional text of the header used during document generation. The header text may contain escape sequences such as "1" to indicate the current page number.
Image name
An optional absolute, relative, or catalog image that is shown in the header of the document.
Image position
Position the optional image designated by "Image name" to the "left" or "right" of the header text.
Footer
The optional text of the footer used during document generation. The footer text may contain escape sequences such as "1" to indicate the current page number.
Date format
The default date format used in documents that do not override their date format. For a description of the date format options, please refer to the topic Entity Properties within this manual.
Date delimiter
A single character date delimiter.
Time format
The default time format used in documents that do not override their time format. For a description of the time format options, please refer to the topic Entity Properties within this manual.
Time delimiter
A single character time delimiter.
Decimal point
A single character decimal point delimiter.
Thousand
A single character thousands delimiter.
Currency
A single character currency delimiter.
» Back to the Table of Contents. «

Parameters (Query)
Description:

Queries may be visually embedded within each other to any level desired via the query editor. When queries are embedded within each other, the appropriate Recordset elements (and other elements) are correspondingly shown embedded within each other when an entire document or portion of a document is generated from the query editor. In essence, recordset variables that are automatically created from an outer query assist in driving the selection of records for an inner (embedded) query.

Information can be passed from an outer query to an inner query (without directly involving the document) by using parameters within a Where field's search condition. Parameters for the inner query's Where field search condition begin with the character "@" followed by a mnemonic name. The parameter mnemonics used within an inner query's Where field search condition will then appear in this dialog when the button to the right of the inner query's Parameters field is pressed.

Note: The easiest approach to both creating and using parameters defined solely within the scope of the query editor is to simply invent (i.e., "make up") one or more parameter mnemonics, placing them into the Where field's search condition, and subsequently invoke this dialog to set each of the parameter values.

Fields:

Parameters list
The list of parameter currently defined for a query. Selecting a particular parameter will populate the Parameter name and Parameter value fields shown below.
Parameter name
The parameter name that is currently being updated or deleted. The ComboBox list is populated with the parameter names (mnemonics) that were defined in the corresponding Where field's search condition for this query.
Parameter value
The parameter value that is currently being updated or deleted. Pressing the button to the right of this field invokes the FinerEdge Publisher Expression editor.
Change
When a parameter has not been selected from the Parameters list field, it will be appended to the end of the Parameters list, otherwise the parameter will be updated into the selected position within the Parameters list. A Change, Move up, or Delete action will unselect the Parameters list field in preparation for a possible addition.
Move up
Move the currently selected parameter up within the Parameters list field.
Delete
Delete the currently selected parameter from the Parameters list field.
» Back to the Table of Contents. «

Rules (Query)
Description:

Adds or updates styling rules that apply to various parts of a table, and are relative to the theme selected. Styling rules appear in a generated document or portion of a generated document. If the styles rules are changed, the document or applicable portion of the document must be regenerated. Note: After a document has been generated and subsequently customized, it's usually easier to just alter the styling from either the Visual Designer or Markup views (i.e., not completely regenerate the document or portion of a document).

Fields:

Rules list
The list of rules currently defined for a query. Selecting a particular rule will populate the fields below thus allowing them to be updated.
Style name
The ComboBox list is populated with the style names that are supported for the selected theme. If a style name is entered that is not defined by the theme or the theme is subsequently changed, the style name must then be defined by using the Style editor within either the Visual Designer or Markup views.
Apply to
Restricts which area(s) of a table the selected rule applies to.
Expression
An expression that must evaluate to a number. When the evaluated number is non-zero, the additional style properties (defined by the selected Style name) are applied to the applicable table elements. sty.
Columns list
The list of columns currently defined for a rule. Selecting a particular column will populate the fields below allowing them to be updated.
From
Indicates that the Start and End field table columns begin from the left hand-side or right-hand side of the table. When beginning from the right-hand side of the table, the End field's value will be less than or equal to the Start field's value.
Start
The required Starting table column number (please refer to the description of the From field above for more information).
End
The optional Ending table column number (please refer to the description of the From field above for more information).
Change (Column)
When a column has not been selected from the Columns list field, it will be appended to the end of the Columns list, otherwise the column will be updated into the selected position within the Columns list. A Change, Move up, or Delete action will unselect the Columns list field in preparation for a possible addition.
Move up (Column)
Move the currently selected column up within the Columns list field.
Delete (Column)
Delete the currently selected column from the Columns list field.
Change (Rule)
When a rule has not been selected from the Rules list field, it will be appended to the end of the Rules list, otherwise the rule will be updated into the selected position within the Rules list. A Change, Move up, or Delete action will unselect the Rules list field in preparation for a possible addition.
Move up (Rule)
Move the currently selected rule up within the Rules list field.
Delete (Rule)
Delete the currently selected rule from the Rules list field.
» Back to the Table of Contents. «

SQL Expression
Description:

The SQL expression editor allows FinerEdge Publisher SQL expressions to be visually created or updated. This editor is invoked from a number of locations within the Query Editor by pressing the "..." button to the right an applicable field (e.g., the Query Element's Where field).

Fields:

SQL Expression
The SQL expression being created or updated (may be changed directly or by using the fields below).
Fields
A list of all Field Element Field names that are known at the time the SQL expression is being created. When a field is selected, a brief help description is displayed at the bottom of the form (if defined). Also, when a field is double-clicked or the "Insert ^" button is pressed, the field is insertet into the SQL expression area at the current insertion point.
Operators
A set of buttons that correspond to all commonly known SQL operators that may be used within any SQL expression. When any of the buttons are pressed, the corresponding operator is inserted into the SQL expression area at the current insertion point.
Escape sequences
Inserts a special escape sequences into the SQL expression area at the current insertion point by pressing one of the corresponding buttons below. The buttons are disabled until a value is first entered into the escape sequence edit field.

Date
When a date is entered using the specified date format, it is reformatted into a standard SQL date escape sequence and inserted into the SQL expression area. For more information, please refer to the topic Preferences within this manual.
Time
When a time is entered using the specified time format, it is reformatted into a standard SQL time escape sequence and inserted into the SQL expression area. For more information, please refer to the topic Preferences within this manual.
String
When text is entered, single quote characters are placed around the text and subsequently inserted into the SQL expression area.
Parameter
When a mnemonic name is entered, it is prefixed by the character "@" and subsequently inserted into the SQL expression area. For more information, please refer to the Query Element "Where" and "Parameters" fields in the topic Query Editor and the topic Parameters (Query) within this manual.
» Back to the Table of Contents. «

XML Associations
Description:

Selects one of the listed groups tags, elements tags, or tag attributes that are relative to the field invoking this dialog. This dialog applies to Query or Field elements while in the XML mode of operation.

Fields:

Tag/Attribute list
A list of all groups tags, elements tags, and tag attributes that are applicable to either the Query or Field Element currently selected. The user should check the desired tag or attribute, which then changes the field that invoked this dialog.
» Back to the Table of Contents. «