Claris FileMaker Pro 19 Database Design Report XML Output Grammar

This document describes the Claris™ FileMaker Pro™ Database Design Report (DDR) XML output grammar. The DDR XML format is useful for advanced users and developers who want to create tools that analyze or process the structure of databases.

The XML output grammar for calculations used throughout this document is described under <FieldCatalog><Field>.

New items in this version of FileMaker Pro are displayed in this color.

Overview (Summary) Section

Tag Name Value Description
<FMPReport The top most parent node.
type="Summary" Can have one of the following values:
  • Summary
  • Report
Stores the type of the XML report file. This value is used by the XSL file to determine whether to use summary mode or report mode.
version="(build version)" FileMaker Pro version Version of FileMaker Pro that generated this report.
creationDate="1/1/2018" Date string based on the system's locale. Contains the creation date of the report.
creationTime="2:00 pm"> Time string based on the system's locale. Contains the creation time of the report.
<FMPReport><File XML node that contains the information about the database file report such as the original filename, the path of the report directory and the XML report filename.
name="testfile.fmp12" Valid filename based on the OS platform. No validation is performed in the text string content. It is only used for display.
path="C:\test\" Platform specific file path. Path of the XML report file of the database file.
link="testfile_fmp12.xml"> Valid filename based on the OS platform. Contains the XML detail report filename.
<FMPReport><File><BaseTables count="2"> Any numeric value. Shows the number of base tables found in the database referenced under <File name> attribute.
<FMPReport><File><Tables count="2"> Any numeric value. Shows the number of tables (occurrences) found in the database referenced under <File name> attribute.
<FMPReport><File><Accounts count="2"> Any numeric value. Shows the number of user accounts found in the database referenced under <File name> attribute.
<FMPReport><File><Privileges count="2"> Any numeric value. Number of privilege sets found in the database referenced under <File name> attribute.
<FMPReport><File><ExtendedPrivileges count="4"> Any numeric value. Number of extended privileges found in the database referenced under <File name> attribute.
<FMPReport><File><Layouts count="2"> Any numeric value. Number of layouts found in the database referenced under <File name> attribute.
<FMPReport><File><Scripts count="2"> Any numeric value. Number of scripts found in the database referenced under <File name> attribute.
<FMPReport><File><Relationships count="2"> Any numeric value. Number of relationships found in the database referenced under <File name> attribute.
<FMPReport><File><ValueLists count="2"> Any numeric value. Number of value lists found in the database referenced under <File name> attribute.
<FMPReport><File><CustomFunctions count="2"> Any numeric value. Number of custom functions found in the database referenced under <File name> attribute.
<FMPReport><File><FileReferences count="2"> Any numeric value. Number of file references found in the database referenced under <File name> attribute.
<FMPReport><File><CustomMenuSets count="2"> Any numeric value. Number of custom menu sets found in the database referenced under <File name> attribute.
<FMPReport><File><CustomMenus count="2"> Any numeric value. Number of custom menus found in the database referenced under <File name> attribute.

General Section

Tag Name Value Description
<FMPReport The top most parent node.
type="Report" Can have one of the following values:
  • Summary
  • Report
Stores the type of the XML report file. This value is used by the XSL file to determine whether to use summary mode or report mode.
version="(build version)" FileMaker Pro version/vrev Version/vrev of FileMaker Pro that generated this report.
creationDate="1/1/2013" Date string based on the system's locale Contains the creation date of the report.
creationTime="2:01 pm" Time string based on the system's locale. Contains the creation time of the report.
link="Summary.xml" > Valid filename based on the OS platform. Contains the XML summary report filename.
<FMPReport><File XML node that contains the information about the database file report such as the original filename and the path of the report directory.
name="testfile.fmp12" Valid filename based on the OS platform. No validation is performed in the text string content. It is only used for display.
path="D:\Location" /> Platform specific file path. Path of the XML report file of the database file.
<FMPReport><File><Options> File specific options of the database file.
<FMPReport><File><Options><OnOpen> Applicable options when the database file is opened.
<FMPReport><File><Options><OnOpen><Account name="PowerUsers"> The account used on File Open.
<FMPReport><File><Options><OnOpen><Layout name = "MyLayout" id="431" > This element exists when there is a layout specified to be switched to on File Open.
<FMPReport><File><Options><OnOpen><AllowKeychainAccessToSavePassword state = "True"> Can have one of the following values:
  • True
  • False
Represents the state of the Allow Keychain Access to save password (macOS) or Allow Credentials Manager to save password (Windows) option.
<FMPReport><File><Options><OnOpen><RequireIOSPasscode state = "True"> Can have one of the following values:
  • True
  • False
Represents the state of the Require iOS passcode option.
<FMPReport><File><Options><OnOpen><HideAllToolbars state = "True"> Can have one of the following values:
  • True
  • False
Represents the state of the Hide all toolbars option.
<FMPReport><File><Options><WindowTriggers> File-level script triggers.
<FMPReport><File><Options><WindowTriggers><{Script trigger name} name="MyScript" id="222" > This element exists when a script is specified for a file-level script trigger.
<FMPReport><File><Options><DefaultCustomMenuSet>
<FMPReport><File><Options><DefaultCustomMenuSet <CustomMenuSet name="menu set 1" id="2"> This element exists when there is a default custom menu set specified to be switched to.
<FMPReport><File><Options><Encryption type="0"> When the type property's value is "0" the file is not encrypted. When the type property's value is "1" the file is encrypted. This element represents the encryption state of the file. See FileMaker Security Guide.

File Reference Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<ExternalDataSourcesCatalog> XML node for catalog of external file references and ODBC data sources.
<ExternalDataSourcesCatalog><FileReference XML node for the file reference.
name="Report" Any valid file reference name.
id = "1" Internal unique positive integer value indicating creation order.
link="file2_fmp12.xml" Valid filename based on the OS platform. Contains the external XML detail report filename.
pathList="C:\path\"> Valid path list strings. Each path is separated by the carriage return character.
<ExternalDataSourcesCatalog><OdbcDataSource XML node for ODBC data source.
id="1" Key of data source
name="Report" Any valid name
link="file2_fmp12.xml" Valid filename based on the OS platform. Contains the XML detail report filename.
DSN="..." Any valid string Name of DSN that's used.
promptForLogin="False" Can have one of the following values:
  • True
  • False
Determines if user should be prompted for login credentials.
useSso="True" Can have one of the following values:
  • True
  • False
Indicates whether user is using single sign-on or not.
<ExternalDataSourcesCatalog><OdbcDataSource><ssoSpn> If using single sign-on, then this is the name that the user provides.
<ExternalDataSourcesCatalog><OdbcDataSource><Username> Login username calculation. Optional, exists only if data source has entered user name.
<ExternalDataSourcesCatalog><OdbcDataSource><Username><Calculation>... XML node for calculation, same as in the rest of the grammar.
<ExternalDataSourcesCatalog><OdbcDataSource><Username><DisplayCalculation>... XML display calculation node, same as in the rest of the grammar.
<ExternalDataSourcesCatalog><OdbcDataSource><Password> Login password calculation. Optional, exists only if data source has entered password.
<ExternalDataSourcesCatalog><OdbcDataSource><Password><Calculation>... XML node for calculation, same as in the rest of the grammar.
<ExternalDataSourcesCatalog><OdbcDataSource><Password><DisplayCalculation>... XML display calculation node, same as in the rest of the grammar.
<ExternalDataSourcesCatalog><OdbcDataSource><FilterTables
tableName="table" Any valid text string The table name to filter for. Optional, defaults to blank.
schemaName="schema" Any valid text string The schema name to filter for. Optional, defaults to blank.
catalogName="catalog" Any valid text string The catalog name to filter for. Optional, defaults to blank.
typeBasedFilter="True" Can have one of the following values:
  • True
  • False
Attribute indicates if data source filters on object type, specifically identified below. Optional, defaults to False.
retrieveTables="True" Can have one of the following values:
  • True
  • False
Attribute indicates if tables should be retrieved. Optional, defaults to False.
retrieveViews="True" Can have one of the following values:
  • True
  • False
Attribute indicates if views should be retrieved. Optional, defaults to False.
retrieveSystemTables="True" Can have one of the following values:
  • True
  • False
Attribute indicates if system tables should be retrieved. Optional, defaults to False.

BaseTable Section

Tag Name Value Description
<FMPReport><File><BaseTableCatalog> XML node for catalog of (base) table definitions.
<FMPReport><File><BaseTableCatalog><BaseTable XML node for the (base) table definition.
name="Table1" Any valid table name.
shadow="True" Can have one of the following values:
  • True
  • False
Indicates whether or not this table is a shadow table.
id="1" Internal unique positive integer value indicating creation order.
records="12"> Stores the record numbers of a table
<FMPReport><File><BaseTableCatalog><BaseTable><DataSourceRef

A reference to the data source associated with this table. Only available if the "shadow" attribute of the parent BaseTable is "True".

name="..."

Any valid string.

The name of the data source (data source names are unique.)
catalogName="catalog"

Any valid string.

The name of the remote table's catalog in the ODBC data source.
schemaName="schema"

Any valid string.

The name of the remote table's schema in the ODBC data source.
tableName="table">

Any valid string.

The name of the remote table's table name in the ODBC data source.

All nodes below start with <FMPReport><File><BaseTableCatalog><BaseTable>

Tag Name Value Description
<FieldCatalog> XML node for catalog of fields.
<FieldCatalog><Field XML node for a field.
name="Field1" Any valid field name.
id="1" Internal unique positive integer value indicating creation order.
fieldType="Normal" Can have one of the following values:
  • Normal
  • Calculated
  • Summary
  • Invalid
Indicates the field type.
shadowType="Supplemental" Can have one of the following values:
  • Shadow
  • Supplemental
Specifies the shadow field type. Only available if the parent BaseTable's "shadow" attribute is "True."
dataType="Binary" > Can have one of the following values:
  • Text
  • Number
  • Date
  • Time
  • TimeStamp
  • Binary
Indicates what kind of data is stored in the field.
<FieldCatalog><Field><Calculation XML node for a calculation.
alwaysEvaluate="True" Can have one of the following values:
  • True
  • False
Attribute indicates if calculation is always evaluated.
This attribute is applicable to calculation in field definitions only.
table="Table1"> Valid table name. Indicates the context table of the calculation. This attribute is applicable to auto-enter calculation only.
<FieldCatalog><Field><Calculation><![CDATA[ F1 ]]> CDATA containing the calculation text.
<FieldCatalog><Field><DisplayCalculation> XML node for a calculation. This XML node is for display purposes only. It breaks a calculation into sequential chunks.
<FieldCatalog><Field><DisplayCalculation><Chunk type="FieldRef"> Can have one of the following values:
  • FunctionRef
  • FieldRef
  • NoRef
  • CustomFunctionRef
Chunk type. FunctionRef indicates that the chunk is a calculation function. FieldRef indicates that the chunk is a field. NoRef indicates that the chunk has no special references, but is just ordinary text. CustomFunctionRef indicates that the chunk is a custom function.
<FieldCatalog><Field><DisplayCalculation><Chunk><Field XML node for a field.
name = "F1" Valid field name.
id = "2" Internal unique positive integer value indicating creation order.
table = "Customer1" Table occurrence name.
repetition = "2" If repetition is "1", then it is implicit, no need to output it.
shadowType="Supplemental"> Can have one of the following values:
  • Shadow
  • Supplemental
Specifies the shadow field type. Only available if the parent BaseTable's "shadow" attribute is "True."
<FieldCatalog><Field><SummaryInfo XML node for field summary.
operation="Total" Can have one of the following values:
  • Total
  • RunningTotal
  • Average
  • WeightedAverage
  • Count
  • RunningCount
  • Minimum
  • Maximum
  • StdDeviation
  • StdDeviationByPopulation
  • Fractional
  • FractionalSubtotal
  • List of
Summary operation.
summarizeRepetition="Individually" Can have one of the following values:
  • Together
  • Individually
Summarize repetition property.
restartForEachSortedGroup="True"> Can have one of the following values:
  • True
  • False
This attribute is applicable only if the operation is RunningTotal or RunningCount.
<FieldCatalog><Field><SummaryInfo><SummaryField> XML node representing the field to summarize.
<FieldCatalog><Field><SummaryInfo><SummaryField><Field XML node for a field.
name="Field2" Valid field name.
id = "2" Internal unique positive integer value indicating creation order.
shadowType="Supplemental"> Can have one of the following values:
  • Shadow
  • Supplemental
Specifies the shadow field type. Only available if the parent BaseTable's "shadow" attribute is "True."
<FieldCatalog><Field><SummaryInfo><AdditionalField> XML node representing the additional field to summarize.
<FieldCatalog><Field><SummaryInfo><AdditionalField><Field
name="Field2" Valid field name.
id = "2" Internal unique positive integer value indicating creation order.
table="Table1" Table occurrence name.
repetition="2" If repetition is "1", then it is implicit, no need to output it.
shadowType="Supplemental"> Can have one of the following values:
  • Shadow
  • Supplemental
Specifies the shadow field type. Only available if the parent BaseTable's "shadow" attribute is "True."
<FieldCatalog><Field><Comment> Any text string. XML node containing the comment information of a field definition.
<FieldCatalog><Field><AutoEnter XML node representing the auto-enter information of a field.
value="CreationDate" Can have one of the following values:
  • CreationTime
  • CreationDate
  • CreationTimeStamp
  • CreationName
  • CreationAccountName
  • ModificationDate
  • ModificationTime
  • ModificationTimeStamp
  • ModificationName
  • ModificationAccountName
  • PreviousRecord
  • ConstantData
Auto-enter type
allowEditing="True" Can have one of the following values:
  • True
  • False
Attribute indicates if user is prohibited from modifying field value during data entry.
overwriteExistingValue="True" Can have one of the following values:
  • True
  • False
Attribute indicates if an existing field value can be replaced by a calculation value.
calculation="True" Can have one of the following values:
  • True
  • False
Attribute indicates if the auto-enter calculation is applicable.
lookup="True" Can have one of the following values:
  • True
  • False
Attribute indicates if the auto-enter lookup information is applicable.
furigana="True" Can have one of the following values:
  • True
  • False
Attribute indicates if the furigana information is applicable.
alwaysEvaluate="True" Can have one of the following values:
  • True
  • False
Attribute indicates if calculation is always evaluated.
This attribute is applicable to calculation in field definitions only.
constant="True"> Can have one of the following values:
  • True
  • False
Attribute indicates if the constant data information is applicable.
<FieldCatalog><Field><AutoEnter><Serial Auto-enter serial information.
generate="OnCommit" Can have one of the following values:
  • OnCommit
  • OnCreation
Auto-enter serial generate type.
nextValue="1" A float. Next value.
increment="2" > Positive integer value in the range [1, 32767]. Increment value.
<FieldCatalog><Field><AutoEnter><ConstantData> Any valid text string. Auto-enter data.
<FieldCatalog><Field><AutoEnter><Calculation XML node for a calculation.
table="Table2"> Valid table name. Indicates the context table of the calculation. This attribute is applicable to auto-enter calculation only.
<FieldCatalog><Field><AutoEnter><Calculation><![CDATA[field1]]> CDATA containing the calculation text.
<FieldCatalog><Field><AutoEnter><DisplayCalculation> XML node for a calculation. This XML node is for display purposes only. It breaks a calculation into sequential chunks.
<FieldCatalog><Field><AutoEnter><DisplayCalculation><Chunk type="NoRef">
<FieldCatalog><Field><AutoEnter><Lookup> XML node containing the auto-enter lookup information.
<FieldCatalog><Field><AutoEnter><Lookup><Table 
Table occurrence XML node. Represents the context table occurrence of the lookup.
name="Table" Valid table occurrence name.
id="2"> Internal unique positive integer value indicating creation order.
<FieldCatalog><Field><AutoEnter><Lookup><Field XML node for a field.
name="Field2" Valid field name.
id = "2" Internal unique positive integer value indicating creation order.
table="Table1" Table occurrence name.
repetition="2" > If repetition is "1", then it is implicit, no need to output it.
<FieldCatalog><Field><AutoEnter><Lookup><NoMatchCopyOption Lookup option.
value="DoNotCopy" >
Can have one of the following values:
  • DoNotCopy
  • CopyNextLower
  • CopyNextHigher
  • CopyConstant
<FieldCatalog><Field><AutoEnter><Lookup><CopyConstantValue> Any valid text string. Lookup data information.
<FieldCatalog><Field><AutoEnter><Lookup><CopyEmptyContent Lookup copy empty content option.
value="True" > Can have one of the following values:
  • True
  • False
<FieldCatalog><Field><Validation 
type = "Always" type can have the following values:
  • Always
  • OnlyDuringDataEntry
alwaysValidateCalculation = "True" Can have one of the following values:
  • True
  • False
Always validate calculation.
calculation="True" Can have one of the following values:
  • True
  • False
Indicates if the validation calculation is applicable.
valuelist="True" Can have one of the following values:
  • True
  • False
Indicates if the validation value list is applicable.
maxLength="True" Can have one of the following values:
  • True
  • False
Indicates if the validation maximum of character option is applicable.
message="True"> Can have one of the following values:
  • True
  • False
Indicates if the validation error message option is applicable.
<FieldCatalog><Field><Validation><StrictDataType value="Numeric"> Can have one of the following values:
  • Numeric
  • FourDigitYear
  • TimeOfDay
<FieldCatalog><Field><Validation><NotEmpty value="True"> Can have one of the following values:
  • True
  • False
<FieldCatalog><Field><Validation><Unique value="True"> Can have one of the following values:
  • True
  • False
<FieldCatalog><Field><Validation><Existing value="True"> Can have one of the following values:
  • True
  • False
<FieldCatalog><Field><Validation><ValueList
name="ValueList1"
id="23" >
<FieldCatalog><Field><Validation><Range
from="1"
to="2" >
<FieldCatalog><Field><Validation><Calculation><![CDATA[Calc String]]>
<FieldCatalog><Field><Validation><DisplayCalculation>
<FieldCatalog><Field><Validation><DisplayCalculation><Chunk type="CustomFunctionRef">Custom Function Name</Chunk>
<FieldCatalog><Field><Validation><MaxDataLength value="1">
<FieldCatalog><Field><Validation><StrictValidation value="True"> Can have one of the following values:
  • True
  • False
<FieldCatalog><Field><Validation><ErrorMessage>
<FieldCatalog><Field><Storage
maxRepetition="2"
global="True" Can have one of the following values:
  • True
  • False
storeCalculationResults="True" Can have one of the following values:
  • True
  • False
Attribute applies only to field calculation types.
index="None" Can have one of the following values:
  • None
  • Minimal
  • All
autoIndex="True" Can have one of the following values:
  • True
  • False
indexLanguage="Dutch" > indexLanguage value can be one of the languages listed in the Options for Field dialog box (Storage tab).
<FieldCatalog><Field><Storage><Remote
type="Open" Can have one of the following values:
  • Open
  • Secure
relativeTo="0" > Base directory ID
<FieldCatalog><Field><Storage><Remote><Location>
<Calculation table="DDR"><![CDATA["DDR/c1/"]]></Calculation>
<DisplayCalculation>
  <Chunk type="NoRef">&quot;DDR/c1/&quot;</Chunk>
</DisplayCalculation>
Calculation describing open storage relative path
<FieldCatalog><Field><Furigana <Furigana> element will exist when "Use Furigana Field" checkbox is checked in the UI.
inputMode="AsEntered" > Can have one of the following values:
  • AsEntered
  • Hiragana
  • 2ByteKatakana
  • 2ByteRoman
  • 1ByteKatakana
  • 1ByteRoman
<FieldCatalog><Field><Furigana><Field
name="field"
id="2"
baseTable="Table1"
shadowType="Supplemental"> Can have one of the following values:
  • Shadow
  • Supplemental
Specifies the shadow field type. Only available if the parent BaseTable's "shadow" attribute is "True."

Base Directory Section

All nodes below start with <FMPReport><File><BaseDirectoryCatalog>.

Tag Name Value Description
<Options>
<Options><Thumbnails
state = "true" Can have one of the following values:
  • True
  • False
Thumbnails are enabled/disabled.
type = "Permanent" > Can have one of the following values:
  • Permanent
  • Temporary
<BaseDirectoryList><BaseDirectory
id="0" >

Relationship Section

All nodes below start with <FMPReport><File><RelationshipGraph>.

Tag Name Value Description
<RelationshipList>
<RelationshipList><Relationship
id = "1">
<RelationshipList><Relationship><LeftTable
name="Table1"
cascadeDelete="True" Can have one of the following values:
  • True
  • False
cascadeCreate="True" > Can have one of the following values:
  • True
  • False
<RelationshipList><Relationship><LeftTable><SortList value="True"> Can have one of the following values:
  • True
  • False
Specifies whether the sort information is applicable.
<RelationshipList><Relationship><LeftTable><SortList><Sort  type="Descending">  Can have one of the following values:
  • Ascending
  • Descending
  • Custom
<RelationshipList><Relationship><LeftTable><SortList><Sort><PrimaryField>  Child node is a field element. 
<RelationshipList><Relationship><LeftTable><SortList><Sort><SummaryField> Child node is a field element. Optional.
<RelationshipList><Relationship><LeftTable><SortList><Sort><OverrideLanguage

language="Japanese"/>

Optional
<RelationshipList><Relationship><LeftTable><SortList><Sort><ValueList

name="New Value List"

id="23"/>

Optional
<RelationshipList><Relationship><RightTable
name="Table2"
cascadeDelete="True" Can have one of the following values:
  • True
  • False
cascadeCreate="True" > Can have one of the following values:
  • True
  • False
<RelationshipList><Relationship><RightTable><SortList value="True"> Can have one of the following values:
  • True
  • False
<RelationshipList><Relationship><RightTable><SortList><Sort type="Descending">  Can have one of the following values:
  • Ascending
  • Descending
  • Custom
<RelationshipList><Relationship><RightTable><SortList><Sort><PrimaryField>  Child node is a field element.
<RelationshipList><Relationship><RightTable><SortList><Sort><SummaryField>  Child node is a field element.
<RelationshipList><Relationship><RightTable><SortList><Sort><OverrideLanguage language="Japanese"/>
<RelationshipList><Relationship><RightTable><SortList><Sort><ValueList

name="New Value List"

id="23"/>

<RelationshipList><Relationship><JoinPredicateList>
<RelationshipList><Relationship><JoinPredicateCatalog><JoinPredicate

type="LessThan" >

Can have one of the following values:
  • Equal
  • NotEqual
  • LessThan
  • LessThanOrEqualTo
  • GreaterThan
  • GreaterThanOrEqualTo
  • CartesianProduct
<RelationshipList><Relationship><JoinPredicateCatalog><JoinPredicate><LeftField>
<RelationshipList><Relationship><JoinPredicateCatalog><JoinPredicate><LeftField><Field 
table="Table1"
id="2"
name="Field1">
<RelationshipList><Relationship><JoinPredicateCatalog><JoinPredicate><RightField>
<RelationshipList><Relationship><JoinPredicateCatalog><JoinPredicate><RightField><Field 
table="Table2"
id="2"
name="Field2">
<TableList>
<TableList><Table
name="T"
color = "#fffffff"
id="1"
baseTable = "TName"
baseTableId = "32345">
<TableList><Table><FileReference
name="file reference name"
id="1" >

ValueList Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<ValueListCatalog>
<ValueListCatalog><ValueList
name="ValueList1" Any value
id="1">
<ValueListCatalog><ValueList><Source value="Custom"> Can have one of the following values:
  • Custom
  • Field
  • External
<CustomValues/PrimaryField/External> node will only exist if <Source value> is "Custom"/"Field"/"External". <SecondaryField> node will only exist if "also display" checked in the UI
<ValueListCatalog><ValueList><CustomValues>
<ValueListCatalog><ValueList><CustomValues><Text>
<ValueListCatalog><ValueList><PrimaryField
sort = "True"
show = "True"
resortLanguage ="Finnish">
The sort and show attributes can have one of the following values:
  • True
  • False
The sort attribute indicates that the field contents are sorted. The show attribute indicates that the field contents are included in the value list. The resortLanguage attribute indicates the language re-sort is based on.
<ValueListCatalog><ValueList><PrimaryField>
<Field    
table="Table1"
id="2"
name="Field1"
shadowType="Shadow">
<ValueListCatalog><ValueList><SecondaryField
sort = "False"
show = "False"
resortLanguage ="Finnish"
The sort and show attributes can have one of the following values:
  • True
  • False
The sort attribute indicates that the field contents are sorted. The show attribute indicates that the field contents are included in the value list. The resortLanguage attribute indicates the language re-sort is based on.
<ValueListCatalog><ValueList><SecondaryField><Field 
table="Table2"
id="2"
name="Field2"
shadowType="Shadow">
<ValueListCatalog><ValueList><ShowRelated value="True"> Can have one of the following values:
  • True
  • False
<ValueListCatalog><ValueList><ShowRelated><Table name="Table" id="1"/>
<ValueListCatalog><ValueList><External>
<ValueListCatalog><ValueList><External><FileReference
name="FileReferenceName"
id="123" >
<ValueListCatalog><ValueList><External><ValueList
name="ValueList1"
id="24">

Layout Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<LayoutCatalog>
<LayoutCatalog><Group A collection of layouts and/or other groups
name="some_group"
id="1"
groupCollapsed="True" Can have one of the following values:
  • True
  • False
Indicates whether or not this group is collapsed in the UI.
includeInMenu="True"> Can have one of the following values:
  • True
  • False
<LayoutCatalog><Layout
name="layout#1"
id="234"
quickFind="True"
includeInMenu="True" > Can have one of the following values:
  • True
  • False
Property to determine if the layout is included in the menu.
<LayoutCatalog><Layout><Table
name="table"
id="1">
<LayoutCatalog><Layout><CustomMenuSet
name="Custom menu set"
id="1">
<LayoutCatalog><Layout><Options

saveRecord="True"
showFieldFrames="True"
showRecordIndicator="True" />

<LayoutCatalog><Layout><LocalTheme>
<LayoutCatalog><Layout><LocalTheme><CustomStyles>
<LayoutCatalog><Layout><LocalTheme><CustomStyles><Style Contains the CSS representation of this custom style.
name="CustomStyle1"
oldName="previousName" If the style was renamed, but the changes haven't been saved to the theme yet, then the old name for the style will appear in this attribute. Otherwise, the attribute will not appear.
deleted="True"> If the style was deleted, but the changes haven't been saved to the theme yet, then this attribute will appear and have the value "True". Otherwise, the attribute will not appear.
<LayoutCatalog><Layout><LocalTheme><DefaultStyles> Contains the CSS representations of all of the default object styles.
<LayoutCatalog><Layout><Object
name="FieldObj1" A valid layout object name string
flags = "123" Bit flag value to indicated the following settings:
  • 0x00000001 - Object has conditional formatting
  • 0x00000002 - Locked on layout
  • 0x00000004 - Object has hide condition
  • 0x00000010 - Marked for sliding up
  • 0x00000020 - Marked for sliding left
  • 0x00000100 - Evaluate hide condition in Find mode
  • 0x00000200 - Don't image when printing
  • 0x00004000 - Object has associated tooltip
  • 0x00010000 - Show "hand over button" cursor
  • 0x10000000 - Don't anchor left
  • 0x20000000 - Don't anchor top
  • 0x40000000 - Anchor right
  • 0x80000000 - Anchor bottom
type="Field" Can have one of the following values:
  • Field
  • GroupButton
  • Line
  • Rect
  • RRect
  • Oval
  • Text
  • Portal
  • ExternalObject
  • TabControl
  • TabPanel
  • SlideControl
  • SlidePanel
  • ButtonObj
  • Popover
  • PopoverButton
  • ButtonBar
  • Graphic
key="1" > Internal reference ID of the object.
<LayoutCatalog><Layout><Object><ConditionalFormatting>
<LayoutCatalog><Layout><Object><ConditionalFormatting><Item
id="0"
flags="9">
  • 0x0001 - Condition enabled.
  • 0x0002 - Apply specified font color if condition is true.
  • 0x0004 - Apply specified fill color if condition is true.
  • 0x0008 - Apply specified font face if condition is true.
  • 0x0010 - Apply specified font size if condition is true.
<LayoutCatalog><Layout><Object><ConditionalFormatting><Item><Condition
op="1"> Identifier of a string in the localized string table, which describes a preset operation, such as "Less than or equal to."
<LayoutCatalog><Layout><Object><ConditionalFormatting><Item><Condition><Calc>... Condition calculation. Done the same way as in the rest of the grammar.
<LayoutCatalog><Layout><Object><ConditionalFormatting><Item><Condition><RangeBegin> Any valid string. Beginning of range used in preset function. Defaults to blank.
<LayoutCatalog><Layout><Object><ConditionalFormatting><Item><Condition><RangeEnd> Any valid string. End of range used in preset function. Defaults to blank.
<LayoutCatalog><Layout><Object><ConditionalFormatting><Item><Format>... Font tag and subtags (the same ones currently used) -- for example, when specifying a font for a field.
<LayoutCatalog><Layout><Object><HideCondition
findMode="True"> Values can be "True" or "False" "True" indicates that hide condition is evaluated in Find mode. "False" indicates that the hide condition is not evaluated in Find mode.
<LayoutCatalog><Layout><Object><HideCondition>
  <Calculation>
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
<LayoutCatalog><Layout><Object><ToolTip>
  <Calculation>
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
<LayoutCatalog><Layout><Object><FieldObj
numOfReps="-3" Negative is used to denote horizontal display. Positive is used for vertical display.
The absolute value shown is for the number of repetitions including the starting repetition.
flags="2080" Integer value containing bit flag information Possible bit flag values are:
  • Add "Other" item to control set fields = 0x0001
  • Automatically select all when entering field = 0x0002
  • Do not allow entry into field in Browse mode = 0x0004
  • Add "Edit" item to edit value list = 0x0008
  • Do not allow entry into field in Find mode = 0x0010
  • Exit field on TAB key = 0x0020
  • Exit field on RETURN key = 0x0040
  • Exit field on ENTER key = 0x0080
  • Include vertical scroll bar = 0x0100
  • Include horizontal scroll bar = 0x0200
  • Include drop-down/pop-up icon = 0x0400
  • Auto-complete using specified value list or field's values = 0x0800
  • Disable Visual Spell Checking = 0x2000
  • Disable for Quick Find = 0x8000
inputMode="0" Values can be: 128 - 135 Meaning of the numbers:
  • 128 : Synch Field Font
  • 129 : Japanese Active
  • 130 : Japanese Direct
  • 131 : Hiragana
  • 132 : Full-Width Katakana
  • 133 : Full-Width Alpha
  • 134 : Half-Width Katakana
  • 135 : Half-Width Alpha
keyboardType="0" Values can be: 0 - 8 Meaning of the numbers:
  • 0 : System Default
  • 1 : Default for Data Type
  • 2 : ASCII
  • 3 : URL
  • 4 : Email
  • 5 : Numeric 10-Key
  • 6 : Number Keypad
  • 7 : Number and Punctuation
  • 8 : Phone
displayType="0" Values can be: 0 to 7 Meaning of the numbers:
  • 0 : Edit Box
  • 1 : Drop-down List
  • 2 : Pop-up Menu
  • 3 : Checkbox Set
  • 4 : Radio Button Set
  • 6 : Drop-down Calendar
  • 7 : Concealed Edit Box
tableViewVisibility="0" Values can be 0-2 Meaning of the numbers:
  • 0 : On both layout and table view
  • 1 : Not visible in table view
  • 2 : Only visible in table view
webContainer="1" Values can be 0 or 1 Meaning of the numbers:
  • 0: Web Container is Off
  • 1: Web Container is On
autoPlay="1" Values can be 0 or 1 Meaning of the numbers:
  • 0: Autoplay is Off
  • 1: Autoplay is On
quickFind="1"> Values can be 0 or 1 Meaning of the numbers:
  • 0: Quick Find is Off
  • 1: Quick Find is On
scrollBarVisibility="1"> Values can be 0 or 1 Meaning of the numbers:
  • 0: Always
  • 1: When scrolling
<LayoutCatalog><Layout><Object><FieldObj><PlaceholderText
findMode="True"> Values can be "True" or "False" "True" indicates that the placeholder text is shown on empty fields in Find mode. "False" indicates that placeholder text is hidden in Find mode.
<LayoutCatalog><Layout><Object><FieldObj><PlaceholderText>
  <Calculation>
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(14)</Chunk>
  </DisplayCalculation>
</PlaceholderText>
Placeholder text calculation
<LayoutCatalog><Layout><Object><FieldObj><DDRInfo>
<LayoutCatalog><Layout><Object><FieldObj><DDRInfo><Field
name="Field1"
id="2"
table="Table1"
repetition="2"
maxRepetition="5" This is the field's storage repetition number, listed here again for external fields where it might not be possible to reference the field's definition.
<LayoutCatalog><Layout><Object><FieldObj><DDRInfo><ValueList
name="Cities"
id="23">
<LayoutCatalog><Layout><Object><GroupButtonObj> Can have other child Object nodes.
<LayoutCatalog><Layout><Object><GroupButtonObj><Step> Step node and all its children can contain script steps as covered under the script section.
<LayoutCatalog><Layout><Object><TextObj>
<LayoutCatalog><Layout><Object><TextObj><FieldList
quickFind="True">
<LayoutCatalog><Layout><Object><TextObj><FieldList><Field

name="field"
id="2"
table="table"
repetition="2"/>

<LayoutCatalog><Layout><Object><PortalObj
portalFlags="1" Possible flag values and their meanings are:
  • Show scroll bar on portal = 0x0001
  • Allow deletion of rows = 0x0004
  • Rows should be sorted (according to associated sort spec) = 0x0008
  • Retain scroll bar position after active exit = 0x0010
  • Increase row height when autosizing vertically rather than increasing number of rows= 0x0020
  • Right-to-left layout of portal elements = 0x0040
  • Rows should be filtered (according to associated filter calculation expr)= 0x0080
numOfRows="2" Number of rows shown on the portal.
initialRow="1" Initial row number.
scrollBarVisibility="1"> Values can be 0 or 1 Meaning of the numbers:
  • 0: Always
  • 1: When scrolling
<LayoutCatalog><Layout><Object><PortalObj><TableAliasKey> Name of table occurrence of the portal object.
<LayoutCatalog><Layout><Object><PortalObj><FieldList>
<LayoutCatalog><Layout><Object><PortalObj><FieldList><Field
name="Table"
id="2"
table="Table1">
<LayoutCatalog><Layout><Object><PortalObj><SortList value="True">
  <Sort type="Descending">
     <PrimaryField>
       <Field name="f1" id="2" table="test123"/>
     </PrimaryField>
  </Sort>
  <Sort type="Ascending">
     <PrimaryField>
       <Field name="f4" id="2" table="test123"/>
     </PrimaryField>
     <SummaryField>
         <Field name="summary" id="2" table="test123"/>
     </SummaryField>
     <OverrideLanguage language="Japanese"/>
  </Sort>
  <Sort type="Custom">
     <PrimaryField>
       <Field name="f5" id="2" table="test123"/>
     </PrimaryField>
     <ValueList name="New Value List" id="2"/>
  </Sort>
</SortList>
<LayoutCatalog><Layout><Object><PortalObj> <FilterCalc>
  <Calculation>
    <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
Portal Filtering Calculation
<LayoutCatalog><Layout><Object><TabControlObj
tabStyle="1"
visPanelKey="5"
defaultVisPanelKey="6"
tabJustification="1"
visPanelIndex="1"
defaultVisPanelIndex="2"
tabWidthModifier="9" An integer greater than or equal to zero. Specifies the tab width in pixels.
tabFlagSet="4">
<LayoutCatalog><Layout><Object><TabControlObj><Object><TextObj>... The Text object that represents the label of the tab. Either PanelCalc or TextObj tag will be output for a tab label.
<LayoutCatalog><Layout><Object><TabControlObj><PanelCalc>
  <Calculation>

     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
The calculation that will be used as the label of the tab. Either PanelCalc or TextObj tag will be output for a tab label.
<LayoutCatalog><Layout><Object><TabControlObj><Object><TabPanelObj
tabLeftEdge="100"
tabWidth="40"
tabPanelFlagSet="0">
<LayoutCatalog><Layout><Object><TabControlObj><Object><TabPanelObj><Object>... Any child object inside the Tab Panel object
<LayoutCatalog><Layout><Object><SlideControlObj
visPanelKey="5"
visPanelIndex="0"
dotSize="9" Integer value The size of the dots
slideFlagSet="0">
<LayoutCatalog><Layout><Object><SlideControlObj><Object><SlidePanelObj
slidePanelFlagSet="0">
<LayoutCatalog><Layout><Object><SlideControlObj><Object><SlidePanelObj><Object>... Any child object inside the Slide Panel object
<LayoutCatalog><Layout><Object><PopoverButtonObj
key="1" Internal reference ID of the popover button object
iconSize="12" Size of the icon
buttonFlags="1" Only applies for buttons inside a button bar Meaning of the values:
  • 0x00000001 - Label calculation is a string literal.
  • 0x00000002 - Button has a label calculation.
displayType="1"> Values can be: 0 - 5 Meaning of the values:
  • 0: Text only
  • 1: Icon only
  • 2: Icon above, text below
  • 3: Icon below, text above
  • 4: Icon left, text right
  • 5: Icon right, Icon left
<LayoutCatalog><Layout><Object><PopoverButtonObj><Image
name="default.svg"> Name of the image
<LayoutCatalog><Layout><Object><PopoverObj
key="2"> Internal ID of popover object
<LayoutCatalog><Layout><Object><PopoverObject><TextObj> The text that represents the title of the popover object
<LayoutCatalog><Layout><Object><PopoverObject><Object>... Any child object inside the popover object
<LayoutCatalog><Layout><Object><ButtonBarObj
segmentKey="1" Internal reference to active segment
flags="1"> Flags of the button bar object Meaning of the values:
  • 0x00000001 - Vertical orientation
  • 0x00000002 - Use active segment calculation
<LayoutCatalog><Layout><Object><ButtonBarObj><ActiveSegmentCalc>
  <Calculation>
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
The calculation that will be used to determine the active segment.
<LayoutCatalog><Layout><Object><ButtonBarObj><Object><ButtonObj>... Any child button object inside the button bar object
<LayoutCatalog><Layout><Object><ButtonBarObj><Object><PopoverButtonObj>... Any child popover button object inside the button bar object
<LayoutCatalog><Layout><Object><ButtonObj
iconSize="12" Size of the icon
buttonFlags="1" Only applies for buttons inside a button bar Meaning of the values:
  • 0x00000001 - Label calculation is just a string literal.
  • 0x00000002 - Button has a label calculation.
displayType="1"> Values can be: 0 - 5 Meaning of the numbers
  • 0: Text only
  • 1: Icon only
  • 2: Icon above, text below
  • 3: Icon below, text above
  • 4: Icon left, text right
  • 5: Icon right, Icon left
<LayoutCatalog><Layout><Object><ButtonObj><Image
name="default.svg"> Name of the image
<LayoutCatalog><Layout><Object><ButtonObj><LabelCalc>
  <Calculation>
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
The calculation for the label of a button segment.
<LayoutCatalog><Layout><Object><GraphicObj>
<LayoutCatalog><Layout><Object><GraphicObj><Image
name="default.png"> Name of the image
<LayoutCatalog><Layout><Object><ExternalObj
typeID="WEBV" A quadchar string that can have one of the following values:
  • webviewer = "WEBV"
  • chart = "CHRT"
Identifies the layout object
typeIndex="0" Internal value that selects one of several available object types associated with typeID
externalFlagSet="1" Bit flags indicating the following properties:
  • Object can be activated = 0x0001
  • Object can display content in Find mode = 0x0002
  • Object shows the progress of an operation = 0x0004
  • Object shows status messages = 0x0008
  • The user explicitly chose a custom calculation = 0x8000
<LayoutCatalog><Layout><Object><ExternalObj typeID = "WEBV">
  <Calculation index="0">
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
Web viewer calculation.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title> Title of the chart
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle><Font-family
codeSet="Roman"
fontId="1"
postScript="ArialMT">
Arial</Font-family>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle><Font-size> Integer value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle><Face> Integer value representing Font Face
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle><Color> Fomatted as : #66CCCC
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><Text>
  <Calculation index="0">
     <![CDATA[{CalcString}]]>
     </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
Any valid string Title value calculation
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><SeriesSource
source="Related Records"> Can have one of the following values:
  • Current Found Set
  • Current Record (delimited data)
  • Related Records
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><SeriesSource><ShowRecordGroupDataWhenSorted> Can have one of the following values:
  • True
  • False
Applicable when source is "Current Found Set"
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><SeriesSource><SourceTable> Name of the table Applicable when source is "Related Records"
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><SeriesSource>
<SortList value="True">
  <Sort type="Descending">
     <PrimaryField>
       <Field name="f1" id="2" table="test123"/>
     </PrimaryField>
  </Sort>
  <Sort type="Ascending">
     <PrimaryField>
       <Field name="f4" id="2" table="test123"/>
     </PrimaryField>
     <SummaryField>
       <Field name="summary" id="2" table="test123"/>
     </SummaryField>
     <OverrideLanguage language="Japanese"/>
  </Sort>
  <Sort type="Custom">
     <PrimaryField>
       <Field name="f5" id="2" table="test123"/>
     </PrimaryField>
     <ValueList name="New Value List" id="2"/>
  </Sort>
</SortList>
Applicable when source is "Related Records" and sort is enabled
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><XSeriesList>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><XSeriesList><Series>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><XSeriesList><Series><Value>
  <Calculation index="0">
     <![CDATA[{CalcString}]]>
  </Calculation>
  <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
Any valid string Series value calculation
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><XSeriesList><Series><Title> Same as <ExternalObj><Title>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><XSeriesList><Series><DataSymbol> An integer used to store visual symbol information about that series. This node is not used but is available for future use.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><YSeriesList> Same grammar as <ExternalObj><SeriesList><XSeriesList>. However, the DataSymbol node is used to store the symbol information for the scatter plot.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><WSeriesList> Same grammar as <ExternalObj><SeriesList><XSeriesList>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartSeries><ZSeriesList> Same grammar as <ExternalObj><SeriesList><XSeriesList>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Type> Can have one of the following values:
  • Bar
  • Column
  • Line
  • Area
  • Pie
  • Stacked Bar
  • Stacked Column
  • Positive Negative Column
  • Bubble
  • Scatter
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Style> Can have one of the following values:
Applicable to bar, column, and area chart types:
  • Solid
  • Shaded
Applicable to pie chart types:
  • Opaque
  • Semi Transparent
Applicable to line chart types:
  • Poly-line
  • Curve Fitting
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Appearance> Can have one of the following values:
  • Flat
  • 3D
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Scheme> Can have one of the following values:
  • FileMaker Colors
  • Saturated
  • Primary Basics
  • Earth
  • Jewel Tone
  • Pastels
  • Spring Desert
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Background>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Background><Style> Can have one of the following values:
  • SolidFill
  • Gradient
  • Transparent
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Background><GradientType> Can have one of the following values:
  • Linear
  • Radial
Applicable when <Background><Style> is "Gradient"
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Background><GradientProperty> Can have one of the following values: Applicable to Linear Gradient:
  • Upper-Left/Bottom-Right
  • Bottom-Left/Upper-Right
  • Up/Down
  • Left/Right
Applicable to Radial Gradient:
  • Bottom-Left
  • Bottom-Right
  • Upper-Left
  • Upper-Right
Applicable when /<Style> is "Gradient"
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Background><ColorList> When /<Style> is
  • SolidFill: contains 1 element
  • Gradient: contains 2 elements
  • Transparent: contains 0 element
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><Background><ColorList><Color> Fomatted as : #66CCCC
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Visual><ShowDataPoints pieShowPercent="False" pieShowActual="False" value="False"> Can have one of the following values:
  • True
  • False
Indicates whether labels are printed next to the data points. Attributes pieShowPercent and pieShowActual are generated, but they are applicable only if the chart is a Pie type.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension> New node to store extension information relating to the visual appearance of the charts.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><MajorGridLines> Contains major grid lines information if applicable to the chart type. This node might be generated even if the chart type doesn't need it.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><MajorGridLines><Color> Color as RGB hex.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><MinorGridLines> Contains minor grid lines information if applicable to the chart type. This node might be generated even if the chart type doesn't need it.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><MinorGridLines><Color> Color as RGB hex.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><MinorGridLines><Color> Color as RGB hex.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><SeriesColor><Color> Color for single color mode. The rest of the color for the scheme are generated at runtime.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><VisualExtension><SchemeColorTransparency value=""> Used to store the alpha value. Currently it's used for bubble transparency.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend
style="Normal"> Can have one of the following values:
  • None
  • Normal
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><CharacterStyle>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><CharacterStyle><Font-family
codeSet="Roman"
fontId="1"
postScript="ArialMT">
Arial</Font-family>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><CharacterStyle><Font-size> Integer value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle><Face> Integer value representing Font Face
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><CharacterStyle><Color> Fomatted as : #66CCCC
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><Border>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><Border><Style> Can have one of the following values:
  • No Border
  • Rectangular Border
  • Rounded Border
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><Border><Color> Fomatted as : #66CCCC Applicable when /<Style> is NOT "No Border"
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Legend><Background> Same as <ExternalObj><Visual><Background>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Title> Same as <ExternalObj><Title>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Label>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Label><CharacterStyle>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Label><CharacterStyle><Font-family>
codeSet="Roman"
fontId="1"
postScript="ArialMT">
Arial</Font-family>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Label><CharacterStyle><Font-size> Integer value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><Title><CharacterStyle><Face> Integer value representing Font Face
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Label><CharacterStyle><Color> Fomatted as : #66CCCC
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><Label><Angle> Integer value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><ConstrainAxis Constrains the minimum and maximum value shown on the Axis.
enable="True"> "True" if constrain is applied
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><Axis><ConstrainAxis><Min>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><Axis><ConstrainAxis><Max>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisExtension> Extensions to the X Axis in version 12
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisExtension><MinCalc> Calculation for minimum value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisExtension><MaxCalc> Calculation for max value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisExtension><MajorTickIncrement value="?" show="False"/> Major tick information.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisExtension><MinorTickIncrement value="?" show="False"/> Minor tick information.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisExtension><Scale value="Linear"/> Values can be:
  • Linear
  • Log
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisFormat> Formatting info
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisFormat><FormatType value="NoFormat"> Can have one of the following values:
  • NoFormat (as entered)
  • NumericFormat
  • DateFormat
  • TimeFormat
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisFormat><FormatType><NumFormat falseString="" trueString="" decimalDigits="9999" negativeColor="0" decimalPoint="46" thousandsSep="44" currencySymbol="" negativeStyle="0" charStyle="0" flags="1"/> Internal information for the number format.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisFormat><FormatType><DateFormat separator="47" dayStyle="0" monthStyle="0" charStyle="0" format="0"> Internal information for the date format.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisFormat><FormatType><DateFormat><DateElement>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XChartAxis><XAxisFormat><FormatType><TimeFormat ampmString="" pmString="" amString="" separator="58" minsecStyle="0" hourStyle="0" charStyle="0" flags="8"/> Internal information for the time format.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><YChartAxis> Same as <ExternalObj><ChartAxis><XChartAxis>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><DataLabelFormat>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><ConstrainAxis><Min>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><Axis><ConstrainAxis><Max>
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisExtension> Extensions to the X Axis in version 12
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisExtension><MinCalc value="False"> value attribute indicates whether the calculation is applied. Calculation for minimum value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisExtension><MaxCalc value"False"> value attribute indicates whether the calculation is applied. Calculation for max value
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisExtension><MajorTickIncrement value="?" show="False"/> Major tick information.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisExtension><MinorTickIncrement value="?" show="False"/> Minor tick information.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisExtension><Scale value="Linear"/> Values can be:
  • Linear
  • Log
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat> Formatting info
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat><FormatType value="NoFormat"> Can have one of the following values:
  • NoFormat (as entered)
  • NumericFormat
  • DateFormat
  • TimeFormat
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat><FormatType><NumFormat falseString="" trueString="" decimalDigits="9999" negativeColor="0" decimalPoint="46" thousandsSep="44" currencySymbol="" negativeStyle="0" charStyle="0" flags="1"/> Internal information for the number format.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat><FormatType><DateFormat separator="47" dayStyle="0" monthStyle="0" charStyle="0" format="0"> Internal information for the date format.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat><FormatType><DateFormat><DateElement> There should be four date element nodes here.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat><FormatType><DateFormat><DateElementSep index="0"> There should be five date element separator nodes here.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><XAxisList><XAxisFormat><FormatType><TimeFormat ampmString="" pmString="" amString="" separator="58" minsecStyle="0" hourStyle="0" charStyle="0" flags="8"/> Internal information for the time format.
<LayoutCatalog><Layout><Object><ExternalObj typeID = "CHRT"><ChartAxis><YAxisList> Same as <ExternalObj><ChartAxis><XAxisList>
<LayoutCatalog><Layout><Object><ExtendedAttributes
fontHeight="12"
graphicFormat="1" > Bit flags indicating the following properties:
  • Shrink to fit = 0x0001
  • Grow to fit = 0x0002
  • Maintain proportions = 0x0004
  • Left align = 0x0008
  • Top align = 0x0010
  • Right align = 0x0020
  • Bottom align = 0x0080
  • Colorize = 0x0040
<LayoutCatalog><Layout><Object><ExtendedAttributes><NumFormat
flags="1" Bit flags indicating the following properties:
  • No formatting = 0x0001
  • Use separator = 0x0002
  • Use notation (% or $) = 0x0004
  • Use fix number of decimal digits = 0x0008
  • Use percent notation = 0x0010
  • Display as boolean = 0x0020
  • Use Kanji Man-Oku style = 0x0040
  • Use Kanji 10,100,1000,10000 style = 0x0080
  • Use general format = 0x0100
  • Notation outside negative format = 0x0400
  • Leading currency symbol = 0x0800
  • Use given negative color = 0x1000
  • Blank if zero = 0x2000
  • Scientific notation (only if "Use general format" is also set) = 0x8000
charStyle="1" Can have the following values:
  • 0 - Single byte
  • 1 - Double byte
  • 2 - Simplified Kanji digits
  • 3 - Traditional Kanji digits
  • 4 - Simplified Kanji with separator
negativeStyle="1" Can have the following values:
  • 0 - Leading minus
  • 1 - Trailing minus
  • 2 - Parentheses
  • 3 - Angle
  • 4 - Credit
  • 5 - Triangle
Display style for negative values.
currencySymbol="$"
thousandsSep=","
decimalPoint="."
negativeColor="#FF0000"
decimalDigits="2" Number of decimals to display.
trueString="True" Representation for true value.
falseString="False"> Representation for false value.
<LayoutCatalog><Layout><Object><ExtendedAttributes><DateFormat
format="1" Can have the following values:
  • 0 - As entered
  • 1 - Custom
  • 2 - Numeric date
  • 3 - Short date
  • 4 - Full date
  • 5 - Short date /w day name
  • 6 - Full date /w day name
  • 7 - Long numeric date
Display format.
charStyle="1" Can have the following values:
  • 0 - Single byte
  • 1 - Double byte
  • 2 - Simplified Kanji digits
  • 3 - Traditional Kanji digits
  • 4 - Simplified Kanji with separator
monthStyle="0" Can have the following values:
  • 0 - None
  • 1 - Zero
  • 2 - Space
Specifies leading character, if any.
dayStyle="0" Can have the following values:
  • 0 - None
  • 1 - Zero
  • 2 - Space
Specifies leading character, if any.
separator="/">
<LayoutCatalog><Layout><Object><ExtendedAttributes><DateFormat><DateElement> Can have the following values:
  • 0 - Empty
  • 1 - Day
  • 2 - Short day name
  • 3 - Full day name
  • 4 - Month
  • 5 - Short month
  • 6 - Full month
  • 7 - Short year
  • 8 - Full year
  • 9 - Short quarter
  • 10 - Full quarter
  • 11 - Asian quarter
  • 12 - Half year
  • 13 - Reign year
  • 14 - Short reign year
  • 15 - Alphabetic reign year
  • 16 - Asian day name
  • 17 - Short Asian day name
<LayoutCatalog><Layout><Object><ExtendedAttributes><DateFormat><DateElementSep Date element separator.
index="1">
<LayoutCatalog><Layout><Object><ExtendedAttributes><TimeFormat
flags="1" Bit flags indicating the following properties:
  • Hour = 0x0001
  • Minutes = 0x0002
  • Seconds = 0x0004
  • As entered (leave unformatted) = 0x0008
  • Use 24h time = 0x0010
  • Prefix 24h time (instead of suffix) = 0x0020
  • Prefix 12h time (instead of suffix)= 0x0040
  • Use separator (otherwise uses Japanese style) = 0x0080
charStyle="1" Can have the following values:
  • 0 - Single byte
  • 1 - Double byte
  • 2 - Simplified Kanji digits
  • 3 - Traditional Kanji digits
  • 4 - Simplified Kanji with separator
hourStyle="1" Can have the following values:
  • 0 - None
  • 1 - Zero
  • 2 - Space
minsecStyle="1" Can have the following values:
  • 0 - None
  • 1 - Zero
  • 2 - Space
separator=":"
amString="am"
pmString="pm"
ampmString="am/pm">
<LayoutCatalog><Layout><Object><FieldObj><Styles><LocalCSS> Local styles for the object in CSS format. Please refer to the CSS styles reference.
<LayoutCatalog><Layout><Object><FieldObj><Styles><CustomStyles> Lists all of the CustomStyles associated with this LayoutObject.
<LayoutCatalog><Layout><Object><CharacterStyleVector><CharacterStyle
mask="1"> Internal use only.
<LayoutCatalog><Layout><Object><CharacterStyleVector><CharacterStyle><Font-family
codeSet="Roman"
fontId="1"
postScript="ArialMT">
Arial</Font-family>
<LayoutCatalog><Layout><Object><CharacterStyleVector><CharacterStyle><Font-size>
<LayoutCatalog><Layout><Object><CharacterStyleVector><CharacterStyle><Face>
<LayoutCatalog><Layout><Object><CharacterStyleVector><CharacterStyle><Color>
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle>
mask="128"
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><Justification> Can have the following values:
  • 2 - Center
  • 3 - Right
  • 4 - Full
  • Otherwise Left
Specifies the justification of the tab control object.
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><LeftMargin> In points (1/72 inch).
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><RightMargin> In points (1/72 inch).
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><Indent> In points (1/72 inch).
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><SpaceLeading In units as specified below.
units="1"> Can have the following values:
  • 0 - Lines
  • 1 - Points
  • 2 - Centimeters
  • 3 - Inches
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><SpaceBefore In units as specified below.
units="1"> Can have the following values:
  • 0 - Lines
  • 1 - Points
  • 2 - Centimeters
  • 3 - Inches
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><SpaceAfter In units as specified below.
units="1"> Can have the following values:
  • 0 - Lines
  • 1 - Points
  • 2 - Centimeters
  • 3 - Inches
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><Tab>
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><Tab><Position>
<LayoutCatalog><Layout><Object><ParagraphStyleVector><ParagraphStyle><Tab><Type> Can have the following values:
  • 1 - Left
  • 2 - Center
  • 3 - Right
  • 4 - Decimal

A <ScriptTriggers> node with its children may be attached to a layout or to individual layout objects. Consequently, All nodes below start with either:

Tag Name Value Description
<ScriptTriggers>
<ScriptTriggers><Trigger
event="OnObjectEnter" Can have one of the following values:
  • OnObjectEnter
  • OnObjectExit
  • OnObjectModify
  • OnObjectSave
  • OnObjectKeystroke
  • OnObjectValidate
  • OnPanelSwitch
  • OnObjectAVPlayerChange
  • OnLayoutEnter
  • OnLayoutKeystroke
  • OnRecordLoad
  • OnRecordCommit
  • OnRecordRevert
  • OnModeEnter
  • OnModeExit
  • OnLayoutExit
  • OnViewChange
  • OnLayoutSizeChange
  • OnGestureTap
  • OnExternalCommandReceived
  • OnFirstWindowOpen
  • OnLastWindowClose
  • OnWindowOpen
  • OnWindowClose
  • OnFileAVPlayerChange
Tells what type of trigger this is.
id="1" id can have one of the following values:
  • 1 - OnObjectEnter
  • 2 - OnObjectExit
  • 3 - OnObjectModify
  • 4 - OnObjectSave
  • 5 - OnObjectKeystroke
  • 6 - OnObjectValidate
  • 7 - OnPanelSwitch
  • 8 - OnObjectAVPlayerChange
  • 101 - OnLayoutEnter
  • 102 - OnLayoutKeystroke
  • 103 - OnRecordLoad
  • 104 - OnRecordCommit
  • 105 - OnRecordRevert
  • 106 - OnModeEnter
  • 107 - OnModeExit
  • 109 - OnLayoutExit
  • 110 - OnViewChange
  • 111 - OnLayoutSizeChange
  • 112 - OnGestureTap
  • 113 - OnExternalCommandReceived
  • 201 - OnFirstWindowOpen
  • 202 - OnLastWindowClose
  • 204 - OnWindowOpen
  • 205 - OnWindowClose
  • 206 - OnFileAVPlayerChange
The id is the internal number used to tell the type of the trigger.
triggerFlags="1"> Value of the bits in the number have the following values:
  • 0x0001 = Trigger is enabled in Browse mode
  • 0x0002 = Trigger is enabled in Find mode
  • 0x0004 = Trigger is enabled in Preview mode
Various bit-flag properties.
<ScriptTriggers><Trigger><Script This node gives detailed information about the script to be invoked and the parameter to be passed to the script.
id="1" ScriptKey of the script to be invoked.
name="BeepScript" Name of the script to be invoked.
fromFile="FileWithScript" The name of the file containing the script to be invoked. Present only if the script is from another file.
Parameter="A parameter"> Optional. The XML-quoted representation of the calculation formula to be used to compute the parameter to be passed to the invoked script.
<FileReference id="1" name="FileWithScript">
  <UniversalPathList>
     file:FileWithScript.fmp12
  </UniversalPathList>
</FileReference>
Present if the script to be invoked is from an external file.
<Calculation>
  <![CDATA["A param for the script"]]>
</Calculation>
<DisplayCalculation>
  <Chunk type="NoRef">
     "A param for the script"
  </Chunk>
</DisplayCalculation
Present if there is a calculation specified to generate the parameter to the script.
<ScriptTriggers><Trigger><TriggerText> Contains a textual representation of the trigger. The other nodes are useful if you want to work with the pieces that make up the trigger; this node is useful as a textual summary of the entire trigger.

Account Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<AccountCatalog>
<AccountCatalog><Account
name="Sales"
id="1"
status="Active" Can have one of the following values:
  • Active
  • Inactive
changePasswordOnNextLogin="True" Can have one of the following values:
  • True
  • False
managedBy="FileMaker" Can have one of the following values:
  • Claris ID User
  • FileMaker
  • External
  • Amazon
  • Google
  • Microsoft Azure User
  • Microsoft Azure Group
emptyPassword="True" Can have one of the following values:
  • True
  • False
Indicates if the account uses an empty password.
privilegeSet="Set1" > Indicates the privilege set assigned to this account.
<AccountCatalog><Account><Description>

PrivilegeSet Section

All nodes below start with <FMPReport><File><PrivilegeCatalog>.

Tag Name Value Description
<PrivilegeSet
name="GuestUsers"
id="1"
printing="True" Can have one of the following values:
  • True
  • False
exporting="True" Can have one of the following values:
  • True
  • False
managedExtended="True" Can have one of the following values:
  • True
  • False
overrideValidationWarning="True" Can have one of the following values:
  • True
  • False
idleDisconnect="True" Can have one of the following values:
  • True
  • False
menu="All" Can have one of the following values:
  • All
  • EditOnly
  • Minimal
allowModifyPassword="True" Can have one of the following values:
  • True
  • False
manageAccounts="True" Can have one of the following values:
  • True
  • False
passwordExpiry = "90" Number of days before the password expires
passwordMinLength = "8"
comment ="Some description text">
<PrivilegeSet><Records
value="ViewOnly" Can have one of the following values:
  • ViewOnly
  • CreateEdit
  • CreateEditDelete
  • NoAccess
  • Custom
<PrivilegeSet><Records><TableList> TableList node will only exist if <Records value> is "Custom"
<PrivilegeSet><Records><TableList><BaseTable
name="addressbook" If name attribute is "[Any New Table]", then this node will refer to all newly created tables.
shadow="True" Can have one of the following values:
  • True
  • False
Indicates whether or not this table is a shadow table.
id="123" >
<PrivilegeSet><Records><TableList><BaseTable><DataSourceRef

A reference to the data source associated with this table. Only available if the "shadow" attribute of the parent BaseTable is "True".

name="..."

Any valid string.

The name of the data source (data source names are unique.)
catalogName="catalog"

Any valid string.

The name of the remote table's catalog in the ODBC data source.
schemaName="schema" Any valid string. The name of the remote table's schema in the ODBC data source.
tableName="table"> Any valid string. The name of the remote table's table name in the ODBC data source.
<PrivilegeSet><Records><TableList><Table><View value="True"> Can have one of the following values:
  • True
  • False
  • Limited
<PrivilegeSet><Records><TableList><Table><View><Calculation table="Table1"><![CDATA[Calc String]]> This node will only exist if <View value> is "Limited"
<PrivilegeSet><Records><TableList><Table><View> <DisplayCalculation> This node will only exist if <View value> is "Limited"
<PrivilegeSet><Records><TableList><Table><View> <DisplayCalculation><Chunk type="NoRef">SomeText</Chunk>
<PrivilegeSet><Records><TableList><Table><Edit value="True"> Can have one of the following values:
  • True
  • False
  • Limited
<PrivilegeSet><Records><TableList><Table><Edit><Calculation table="Table1"><![CDATA[Calc String]]> This node will only exist if <Edit value> is "Limited"
<PrivilegeSet><Records><TableList><Table><Edit> <DisplayCalculation> This node will only exist if <Edit value> is "Limited"
<PrivilegeSet><Records><TableList><Table><Edit><DisplayCalculation><Chunk type="NoRef">SomeText</Chunk>
<PrivilegeSet><Records><TableList><Table><Create value="True"> Can have one of the following values:
  • True
  • False
<PrivilegeSet><Records><TableList><Table><Delete value="True"> Can have one of the following values:
  • True
  • False
  • Limited
<PrivilegeSet><Records><TableList><Table><Delete><Calculation table="Table1"> This node will only exist if <Delete value> is "Limited"
<PrivilegeSet><Records><TableList><Table><Delete> <DisplayCalculation> This node will only exist if <Delete value> is "Limited"
<PrivilegeSet><Records><TableList><Table><Delete> <DisplayCalculation><Chunk type="NoRef">SomeText</Chunk>
<PrivilegeSet><Records><TableList><Table><FieldAccess
value="Limited"> Can have one of the following values:
  • All
  • Limited
  • No Access
<PrivilegeSet><Records><TableList><Table><FieldAccess><FieldList> This node will only exist if <FieldAccess value> is "Limited"
<PrivilegeSet><Records><TableList><Table><FieldAccess><FieldList> <Field
name="f2"
id = "2"
accessRestriction="Modifiable" > Can have one of the following values:
  • Modifiable
  • ViewOnly
  • NoAccess
<PrivilegeSet><Layouts
allowCreation="True" Can have one of the following values:
  • True
  • False
value="Custom" > Can have one of the following values:
  • Modifiable
  • ViewOnly
  • Custom
LayoutList node will only exist, if <Layouts value> is "Custom"
<PrivilegeSet><Layouts><LayoutList>
<PrivilegeSet><Layouts><LayoutList><Layout
name="MainLayout" If name attribute is "[Any New Layout]", then this node will refer to all newly created Layouts.
id="221">
<PrivilegeSet><Layouts><LayoutList><Layout><LayoutAccess
value="Modifiable"> Can have one of the following values:
  • Modifiable
  • ViewOnly
  • NoAccess
<PrivilegeSet><Layouts><LayoutList><Layout><DataAccess
value="Modifiable"> Can have one of the following values:
  • Modifiable
  • ViewOnly
  • NoAccess
<PrivilegeSet><ValueLists
allowCreation="True" Can have one of the following values:
  • True
  • False
value="Custom" > Can have one of the following values:
  • Modifiable
  • ViewOnly
  • Custom
ValueListList node will only exist, if <ValueLists value> is "Custom"
<PrivilegeSet><ValueLists><ValueListList>
<PrivilegeSet><ValueLists><ValueListList><ValueList
name="Addresses" If name attribute is "[Any New Value List]", then this node will refer to all newly created ValueLists.
id="23" >
<PrivilegeSet><ValueLists><ValueListList><ValueList><Access
value="Modifiable"> Can have one of the following values:
  • Modifiable
  • ViewOnly
  • NoAccess
<PrivilegeSet><Scripts
allowCreation="True" Can have one of the following values:
  • True
  • False
value="Custom" > Can have one of the following values:
  • Modifiable
  • ExecutableOnly
  • NoAccess
ScriptList node will only exist, if <Scripts value> is "Custom"
<PrivilegeSet><Scripts><ScriptList>
<PrivilegeSet><Scripts><ScriptList><Script
name="MainScript" If name attribute is "[Any New Script]", then this node will refer to all newly created Scripts.
id="221"
runFullAccess="True" > Can have one of the following values:
  • True
  • False
<PrivilegeSet><Scripts><ScriptList><Script><Access
value="Modifiable" > Can have one of the following values:
  • Modifiable
  • ExecutableOnly
  • NoAccess

ExtendedPrivilege Section

All nodes below start with <FMPReport><File><ExtendedPrivilegeCatalog>.

Tag Name Value Description
<ExtendedPrivilege
name = "fmxml"
id="1"
comment = "place comment here" >
<ExtendedPrivilege><PrivilegeSetList> <PrivilegeSetList> node exists when the current extended privilege is used by other privilege sets.
<ExtendedPrivilege><PrivilegeSetList><PrivilegeSet
name = "Guest" <PrivilegeSet name> contains a valid privilege set for the current file.
id="123" >

Authorized Files Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<AuthFileCatalog>
requireAuthorization True or False Whether external files can reference this file without authorization
<AuthFileCatalog><Inbound>
<AuthFileCatalog><Inbound><InboundAuthorization
filesnames = "file1 ; file2" String of authorized filenames The filename(s) of the authorized inbound files.
user = "Admin" String - name of admin user The identify of the Full Access user account that created the authorization.
date = "7/30/2009 4:15:32 PM" String - timestamp The timestamp when the authorization was created.
id = "1"> Internal id value.
<AuthFileCatalog><Outbound>
<AuthFileCatalog><Outbound><OutboundAuthorization
filesnames = "protected_file" String of authorized filenames The filename of the protected file this file is authorized to access.
user = "Admin" String - name of admin user The identify of the Full Access user account that created the authorization.
date = "7/30/2009 4:15:32 PM" String - timestamp The timestamp when the authorization was created.
id = "1"> Internal id value.

Custom Menu Set Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<CustomMenuSetCatalog> [May not be present in a file that has never had Manage Custom Menus Dialog make changes to it]
<CustomMenuSetCatalog><CustomMenuSet Custom menu set XML element.
name="Menu Set 1" Unique name for the menu set.
id="1"> Identifier indicating creation order.
<CustomMenuSetCatalog<CustomMenuSet><CustomMenuList>
<CustomMenuSetCatalog<CustomMenuSet><CustomMenuList><CustomMenu
name="Custom menu"
id="1">
<CustomMenuSetCatalog><CustomMenuSet><Comment>

Custom Menu Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<CustomMenuCatalog> [May not be present in a file that has never had Manage Custom Menus Dialog make changes to it]
<CustomMenuCatalog><CustomMenu Custom menu XML element.
name="Menu Name" Unique name for the menu.
id="1"> Identifier indicating creation order.
<CustomMenuCatalog<CustomMenu><BaseMenu
name="Menu Name"
value="1">
<CustomMenuCatalog<CustomMenu><Options
findMode="True" Can have the following values:
  • True
  • False
Indicates if the custom menu is applicable in Find mode.
browseMode="True" Can have the following values:
  • True
  • False
Indicates if the custom menu is applicable in Browse mode.
previewMode="True" Can have the following values:
  • True
  • False
Indicates if the custom menu is applicable in Preview mode.
macPlatform="True" Can have the following values:
  • True
  • False
Indicates if the custom menu is applicable for the Mac platform. [Included only for documenting legacy items, no longer used - see InstallWhen for actual install criteria.]
winPlatform="False" Can have the following values:
  • True
  • False
Indicates if the custom menu is applicable for the Windows platform. [Included only for documenting legacy items, no longer used - see InstallWhen for actual install criteria.]
overrideName="False"> Can have the following values:
  • True
  • False
Indicates if the custom menu's name property is overridden.
<CustomMenuCatalog<CustomMenu><Title> XML node containing the Title calculation of a custom menu.
<CustomMenuCatalog<CustomMenu><Title><Calculation>
<CustomMenuCatalog<CustomMenu><Title><DisplayCalculation>
<CustomMenuCatalog><CustomMenu><InstallWhen> XML node containing the "Install When" calculation of a custom menu, which is used to the exclusion of the legacy platform flags.
<CustomMenuCatalog><CustomMenu><InstallWhen><Calculation>
<CustomMenuCatalog><CustomMenu><InstallWhen><DisplayCalculation>
<CustomMenuCatalog><CustomMenu><Comment> XML node containing the comment of a custom menu.
<CustomMenuCatalog><CustomMenu><MenuItemList>
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem
macPlatform="True" Can have the following values:
  • True
  • False
Indicates if the MenuItem is applicable to the Mac platform. [Included only for documenting legacy items, no longer used - see InstallWhen for actual install criteria.]
winPlatform="True" > Can have the following values:
  • True
  • False
Indicates if the MenuItem is applicable to the Mac platform. [Included only for documenting legacy items, no longer used - see InstallWhen for actual install criteria.]
<InstallWhen> XML node containing the "Install When" calculation of a custom menu, which is used to the exclusion of the legacy platform flags.
<InstallWhen><Calculation>
<InstallWhen><DisplayCalculation>
overrideName="False" Can have the following values:
  • True
  • False
Indicates if the MenuItem's name property is overridden.
isSubMenuItem="True" Can have the following values:
  • True
  • False
Indicates if the MenuItem is a sub-menu.
specifyScript="False" Can have the following values:
  • True
  • False
Indicates if the MenuItem has uses a script to specify an action.
overrideAction="False" Can have the following values:
  • True
  • False
Indicates whether the MenuItem's action is overridden. This is only a flag to indicate whether the internal script step of the menu item is applicable or not. Note that this is different from the enable attribute of a script step, which indicates whether the step is enabled or disabled. For a custom menu, the script step is always enabled.
isSeparatorItem="False" Can have the following values:
  • True
  • False
Indicates if the MenuItem is a separator.
overrideShortcut="False"> Can have the following values:
  • True
  • False
Indicates if the MenuItem's shortcut should be overridden.
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem><CustomMenu CustomMenu XML node. This XML node exists if the MenuItem is a sub-menu.
name="CustomMenu"
id="1">
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem><Command XML node indicating the FileMaker® menu command id and string if the MenuItem is based on an existing menu command.
name="File Open"
id="1234">
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem><Name> Exists if overrideName is True.
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem><Name><Calculation>
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem><Name><DisplayCalculation>
<CustomMenuCatalog><CustomMenu><MenuItemList><MenuItem><Shortcut
modifier="1" Flags indicating the modifier keys.
key="78"> Unicode value of the shortcut key. Special keys are mapped to the User Private Space of 0xe000+ range.
<CustomMenuCatalog><Menu><MenuItemList><MenuItem><Step> The action of the menu item. This Step node is always reported. The overrideAction attribute will determine if this node is applicable or not.

Custom Function Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<CustomFunctionCatalog>
<CustomFunctionCatalog><CustomFunction
name="SalesTax"
id="1"
parameters="p1;p2;p3"
visible="True" Can have one of the following values:
  • True
  • False
If True, the custom function will then be listed in the Calculation Dialog under the function list.
functionArity="n" > 0 or N, where N is positive integer Represents the number of parameters for a given custom function.
<CustomFunctionCatalog><CustomFunction><DisplayCalculation>
<CustomFunctionCatalog><CustomFunction><DisplayCalculation> <Chunk type="NoRef">SomeText</Chunk>
<CustomFunctionCatalog><CustomFunction><Calculation> This is the body of the custom function which is a calculation.

Script Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<ScriptCatalog>
<ScriptCatalog><Group A collection of scripts and/or other groups

name="some_group"

id="1"

groupCollapsed="True"

Can have one of the following values:
  • True
  • False
Indicates whether or not this group is collapsed in the UI.

includeInMenu="True">

Can have one of the following values:
  • True
  • False
<ScriptCatalog><Script May be contained in a group
name="MainScript"
id="122"
runFullAccess="True" Can have one of the following values:
  • True
  • False
includeInMenu="True" Can have one of the following values:
  • True
  • False
SiriShortcutVisible="False"> Can have one of the following values:
  • True
  • False
<ScriptCatalog><Script> <StepList>

Individual Steps are listed under <StepList>. The following table shows the XML grammar per script step.

Notes:

  1. Many script steps have options or attributes that are determined by their associated secondary options. If you change a secondary option, FileMaker Pro retains its last-used settings and stores them with the script step. If you later revert your choice, those settings will be available again.

    For example, when you select Specify find requests for the Perform Find script step and choose settings in the Specify Find Requests dialog box, those settings are saved with the script step. If you later deselect Specify find requests, FileMaker Pro doesn't use the settings when it runs the script. However, if you again select the checkbox, those saved settings will be used for the script step.

    When you generate a DDR, saved settings for secondary options appear in the report even if they're not currently being used for the script step. To determine whether the options are in effect, you must check the reported XML setting.

  2. The script steps shown below contain the element <StepText>, and many script steps contain instances of the element <DisplayCalculation>. Both elements contain redundant information in order to make DDR reports (in particular, HTML reports) more readable.

Area Name XMLGrammar XMLValues XMLDescription
Control Allow User Abort <Step id="85" name="Allow User Abort" enable="True">
  <StepText>Script step text</StepText>
  <Set state="True"/>
</Step>
<Set state> can be:
  • True
  • False
Control Configure Local Notification <Step id="187" name="Configure Local Notification" enable="True">
   <StepText>Script step text</StepText>
   <Script id="3" name="Custom Dialog"/>
   <Action value="{value}">
      <Name>
         <Calculation><![CDATA["CalcString"]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Name>

      For Action == Queue:
      {
      <Delay>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Delay>
      <Title>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Title>
      <Body>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Body>
      <Button1Label>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">"Btn 1 Label"</Chunk>
         </DisplayCalculation>
      </Button1Label>
      <Button2Label>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">"Btn 2 Label"</Chunk>
         </DisplayCalculation>
      </Button2Label>
      <Button3Label>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">"Btn 3 Label"</Chunk>
         </DisplayCalculation>
      </Button3Label>
      <Button1ForceFgnd>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">1</Chunk>
         </DisplayCalculation>
      </Button1ForceFgnd>
      <Button2ForceFgnd>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">0</Chunk>
         </DisplayCalculation>
      </Button2ForceFgnd>
      <Button3ForceFgnd>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">1</Chunk>
         </DisplayCalculation>
      </Button3ForceFgnd>
      }

   </Action>
</Step>
<Action> can be:
  • Queue
  • Clear
When <Action> is Clear, only <Name> is output.
Control Configure Machine Learning Model <Step id="202" name="Configure Machine Learning Model" enable="True">
   <StepText>Script step text</StepText>
   <ConfigureCoreML>{value}
      <Name>
         <Calculation><![CDATA["CalcString"]]>
         </Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">&quot;Name&quot;</Chunk>
         </DisplayCalculation>
      </Name>
   </ConfigureCoreML>

   For ConfigureCoreML == General or Vision:
   {
   <Field table="Table" id="6" name="Model"/>
   }

</Step>
<ConfigureCoreML> can be:
  • General
  • Vision
  • Uninstall
Control Configure NFC Reading <Step id="201" name="Configure NFC Reading" enable="True">
   <StepText>Script step text</StepText>
   <Script id="3" name="Custom Dialog"/>
   <Action value="{value}">

      For Action == Read:
      {
      <Timeout>
         <Calculation><![CDATA[CalcString]]>
         </Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Timeout>
      <ReadMultiple>
         <Calculation><![CDATA[CalcString]]>
         </Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </ReadMultiple>
      }

   </Action>
</Step>
<Action> can be:
  • Read
  • Cancel
Control Configure Region Monitor Script <Step id="185" name="Configure Region Monitor Script" enable="True">
   <StepText>Script step text</StepText>
   <Script id="156" name="Foo"/>
   <MonitorType value="{value}">
      <RangeName>
         <Calculation><![CDATA["CalcString"]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </RangeName>

      {For an iBeacon monitor:
      <ProximityUUID>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </ProximityUUID>
      <MajorID>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </MajorID>
      <MinorID>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </MinorID>
      }

      {For a Geofence monitor:
      <Latitude>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Latitude>
      <Longitude>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Longitude>
      <Radius>
         <Calculation><![CDATA[CalcString]]></Calculation>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
      </Radius>
      }

   </MonitorType>
</Step>
<MonitorType value> can be:
  • iBeacon
  • Geofence
  • Clear
When <MonitorType value> is Clear, only <RangeName> is output.
Control Else <Step id="69" name="Else" enable="True">
   <StepText>Script step text</StepText>
</Step>
Control Else If <Step name="Else If" id="125" enable="True">
   <StepText>Script step text</StepText>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
   <Calculation>CalcString</Calculation>
</Step>
Control End If <Step id="70" name="End If" enable="True">
   <StepText>Script step text</StepText>
</Step>
Control End Loop <Step id="73" name="End Loop" enable="True">
   <StepText>Script step text</StepText>
</Step>
Control Exit Loop If <Step id="72" name="Exit Loop If" enable="True">
   <StepText>Script step text</StepText>
    <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
</Step>
Control Exit Script <Step id="103" name="Exit Script" enable="True">
   <StepText>Script step text</StepText>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
       <![CDATA[CalcString]]>
    </Calculation>
</Step>
Control Go to Object <Step id="145" name="Go to Object" enable="True">
   <StepText>Script step text</StepText>
   <ObjectName>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </ObjectName>
   <Repetition>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </Repetition>
</Step>
Control Halt Script <Step id="90" name="Halt Script" enable="True">
   <StepText>Script step text</StepText>
</Step>
Control If <Step name="If" id="68" enable="True">
   <StepText>Script step text</StepText>
   <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
</Step>
Control Install On Timer

<Step id="148" name="Install OnTimer Script" enable="True">

<StepText>Script step text</StepText>

<Interval>
   <Calculation>
        <![CDATA[CalcString]]>
   </Calculation>
   <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
</Interval>

<Script id="1" name="Script Name "/>

</Step>

<Interval> and <Script> will not appear if that option was not specified in the step.

Control Loop <Step id="71" name="Loop" enable="True">
   <StepText>Script step text</StepText>
</Step>
Control Pause/Resume Script <Step name="Pause/Resume Script" id="62" enable="True">
   <StepText>Script step text</StepText>
   <PauseTime value="Indefinitely"/>
   <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
   <Calculation>
      <![CDATA[120]]>
   </Calculation>
</Step>
<PauseTime value> can be:
  • Indefinitely
  • ForDuration
<Calculation> node exists when <PauseTime value> is "ForDuration".
Control Perform Script

<Step name="Perform Script" id="1" enable="True">
  <Calculated>
   <Calculation>
      <![CDATA["Script name"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
  </Calculated>

  <StepText>Script step text</StepText>
   <DisplayCalculation>
   <Calculation>
      <![CDATA[5]]>
   </Calculation>
  <CurrentScript value="Halt"/>
  <FileReference name={name} id="1">
    <UniversalPathList>{PathList}</UniversalPathList>
  </FileReference>
  <Script name="EndOfYear" id="1"/>
</Step>

<CurrentScript value> when specified for a button can be:
  • Halt
  • Exit
  • Pause
  • Resume

<FileReference> is only required for external scripts.

<Calculated> exists only when a script name is specified by a calculation.

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

<Calculation> and <DisplayCalculation> nodes will only exist when a script parameter was specified.

Control Perform Script on Server <Step name="Perform Script on Server" id="164" enable="True">
  <Calculated>
   <Calculation>
      <![CDATA["Script name"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
  </Calculated>

  <StepText>Script step text</StepText>
   <DisplayCalculation>
   <Calculation>
  <WaitForCompletion state="True"/>
  <FileReference name={name} id="1">
    <UniversalPathList>{PathList}</UniversalPathList>
  </FileReference>
  <Script name="EndOfYear" id="1"/>
</Step>

<FileReference> is only required for external scripts.

<Calculated> exists only when a script name is specified by a calculation.

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

<Calculation> and <DisplayCalculation> nodes will only exist when a script parameter was specified.

Control Set Error Capture <Step id="86" name="Set Error Capture" enable="True">
   <StepText>Script step text</StepText>
   <Set state="True"/>
</Step>
<Set state> can be:
  • True
  • False
Control Set Error Logging <Step id="200" name="Set Error Logging" enable="True">
   <StepText>Script step text</StepText>
   <Option state="True"/>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
    <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
</Step>
<Option state> can be:
  • True
  • False
Control Set Layout Object Animation <Step id="84" name="Set Layout Object Animation" enable="true"|"false">
   <StepText>Script step text</StepText>
   <Set state="true"|"false"/>
</Step>
Control Set Variable <Step id="141" name="Set Variable" enable="True">
   <StepText>Script step text</StepText>
    <Name>{Variable name}</Name>
    <Value>
       <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
       </DisplayCalculation>
       <Calculation>
        <![CDATA[CalcString]]>
       </Calculation>
    </Value>
    <Repetition>
       <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
       </DisplayCalculation>
       <Calculation>
        <![CDATA[CalcString]]>
       </Calculation>
    </Repetition>
</Step>
Navigation Close Popover <Step id="169" name="Close Popover" enable="True">
  <StepText>Close Popover</StepText>
</Step>
Navigation Enter Browse Mode <Step id="55" name="Enter Browse Mode" enable="True">
   <StepText>Script step text</StepText>
   <Pause state="True"/>
</Step>
<Pause state> can be:
  • True
  • False
Navigation Enter Find Mode <Step id="22" name="Enter Find Mode" enable="True">
  <StepText>Script step text</StepText>
  <Pause state="True"/>
  {See Perform Find for remaining XML.}
<Step>
<Pause state> can be:
  • True
  • False
{See Perform Find for remaining details.}
{See Perform Find.}
Navigation Enter Preview Mode <Step id="41" name="Enter Preview Mode" enable="True">
   <StepText>Script step text</StepText>
   <Pause state="True"/>
</Step>
<Pause state> can be:
  • True
  • False
Navigation Go To Field <Step id="17" name="Go to Field" enable="True">
   <StepText>Script step text</StepText>
   <SelectAll state="True"/>
   <Field name="FieldName" id="2" table="TableName"/>
   <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
 
Navigation Go To Next Field <Step id="4" name="Go to Next Field" enable="True">
  <StepText>Script step text</StepText>
</Step>
Navigation Go To Previous Field <Step id="5" name="Go to Previous Field" enable="True">
  <StepText>Script step text</StepText>
</Step>
Navigation Go to Layout <Step id="6" name="Go to Layout" enable="True">
   <StepText>Script step text</StepText>
  <LayoutDestination value="SelectedLayout"/>
  <Layout name="LayoutName" id="1"/>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[CalcString]]>
    </Calculation>
  </Layout>
  <Animation value={AnimationID}/>
</Step>
<LayoutDestination value> can be:
  • OriginalLayout
  • LayoutNameByCalc
  • LayoutNumberByCalc
  • SelectedLayout
<Animation value> can be:
  • SlideFromLeft
  • SlideFromRight
  • SlideFromBottom
  • SlideToLeft
  • SlideToRight
  • SlideToBottom
  • FlipFromLeft
  • FlipFromRight
  • ZoomIn
  • ZoomOut
  • CrossDissolve

<Layout> element is output only if <LayoutLocation value> is not "OriginalLayout."

<Calculation> element is output only if <LayoutDestination value> is "LayoutNameByCalc" or "LayoutNumberByCalc".

<Layout id> is required in case there is more than one layout with the same name.

<Animation> element is output only if an animation value other than "None" was selected for the script step.

Navigation Go to Portal Row <Step id="99" name="Go to Portal Row" enable="True">
   <StepText>Script step text</StepText>
   <NoInteract state="True"/>
   <SelectAll state="False"/>
   <Exit state="False"/>
   <RowPageLocation value="ByCalculation"/>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
</Step>
<NoInteract state> can be:
  • True
  • False
<SelectAll state> can be:
  • True
  • False
<Exit state> can be:
  • True
  • False
<RowPageLocation value> can be:
  • First
  • Last
  • Previous
  • Next
  • ByCalculation

<NoInteract> and <Calculation> nodes are present when <RowPageLocation value> attribute is "ByCalculation".

<Exit> element is only present when <RowPageLocation value> is "Next" or "Previous".

<Exit state> indicates whether script execution should be terminated if there is no next/previous row in the portal (that is, if the current row is the last/first one in the portal).

Navigation Go to Record/Request/Page <Step id="16" name="Go to Record/Request/Page" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <Exit state="False"/>
  <RowPageLocation value="ByCalculation"/>
  <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
  <Calculation>
     <![CDATA[CalcString]]>
  </Calculation>
</Step>
<NoInteract state> can be:
  • True
  • False
<Exit state> can be:
  • True
  • False
<RowPageLocation value> can be:
  • First
  • Last
  • Previous
  • Next
  • ByCalculation
<NoInteract> and <Calculation> nodes are present when <RowPageLocation value> attribute is "ByCalculation".

<Exit> element is only present when <RowPageLocation value> is "Next" or "Previous".

<Exit state> indicates whether script execution should be terminated if there is no next/previous record/request/page (that is, if the current record/request/page is the last/first one).
Navigation Go to Related Record <Step id="74" name="Go to Related Record" enable="True">
  <StepText>Script step text</StepText>
  <Option state="true"/>
  <ShowInNewWindow state="true"/>
  <Restore state="true"/>
  <MatchAllRecords state="true"/>
  <Table name={TableName} id={id value}/>
  <LayoutDestination value="SelectedLayout"/>
  <Layout name={LayoutName} id={id value}/>
  <Animation value={AnimationID}/>
  <Name>
      <Calculation><![CDATA[CalcString]]></Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
  </Name>
  <Height>
      <Calculation><![CDATA[CalcString]]></Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
  </Height>
  <Width>
      <Calculation><![CDATA[CalcString]]></Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
  </Width>
  <DistanceFromTop>
      <Calculation><![CDATA[CalcString]]></Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
  </DistanceFromTop>
  <DistanceFromLeft>
      <Calculation><![CDATA[1221]]></Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
   </DistanceFromLeft>
</Step>
<Option state> can be:
  • True
  • False
<ShowInNewWindow state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<MatchAllRecords state> can be:
  • True
  • False
<LayoutDestination value> can be:
  • CurrentLayout
  • LayoutNameByCalc
  • LayoutNumberByCalc
  • SelectedLayout
<Animation value> can be:
  • SlideFromLeft
  • SlideFromRight
  • SlideFromBottom
  • SlideToLeft
  • SlideToRight
  • SlideToBottom
  • FlipFromLeft
  • FlipFromRight
  • ZoomIn
  • ZoomOut
  • CrossDissolve

<Option> is used to denote state of "Use external table's layout'" checkbox.

<Restore> element is used to denote state of "Show all related records in new found set" checkbox.

<Layout> element is output only if <LayoutLocation value> is not "CurrentLayout"

<Calculation> element is output only if <LayoutDestination value> is "LayoutNameByCalc" or "LayoutNumberByCalc."

<Animation> element is output only if an animation value other than "None" was selected for the script step.

Editing Clear <Step id="49" name="Clear" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Field name="f4" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Editing Copy <Step id="47" name="Copy" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Editing Cut <Step id="46" name="Cut" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Editing Paste <Step id="48" name="Paste" enable="True">
  <StepText>Script step text</StepText>
  <NoStyle state="True"/>
  <SelectAll state="True"/>
  <LinkAvail state="True"/>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<NoStyle state> can be:
  • True
  • False
<SelectAll state> can be:
  • True
  • False
<LinkAvail state> can be:
  • True
  • False
Editing Perform Find/Replace <Step id="128" name="Perform Find/Replace" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>

  <FindReplaceOperation
      type="FindNext" direction="Forward"
      MatchCase="False" MatchWholeWords="False"
      AcrossOptions="All" WithinOptions="All"/>

  <FindCalc>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </FindCalc>

  <ReplaceCalc>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </ReplaceCalc>
</Step>
<NoInteract state> can be:
  • True
  • False
<FindReplaceOperation type> can be:
  • FindNext
  • ReplaceAndFind
  • Replace
  • ReplaceAll
<FindReplaceOperation direction> can be:
  • Forward
  • Backward
  • All
<FindReplaceOperation MatchCase> can be:
  • True
  • False
<FindReplaceOperation MatchWholeWords>
can be:
  • True
  • False
<FindReplaceOperation AcrossOptions> can be:
  • All
  • Current
<FindReplaceOperation WithinOptions> can be:
  • All
  • Current
Editing Select All <Step id="50" name="Select All" enable="True">
  <StepText>Script step text</StepText>
</Step>
Editing Set Selection <Step id="130" name="Set Selection" enable="True">
  <StepText>Script step text</StepText>
  <StartPosition>
    <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </StartPosition>

  <EndPosition>
    <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </EndPosition>

  <Field name={FieldName} id="2" table={Table}/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
Editing Undo/Redo <Step id="45" name="Undo/Redo" enable="True">
  <StepText>Script step text</StepText>
  <UndoRedo value="Toggle"/>
</Step>
<UndoRedo value> can be:
  • Undo
  • Redo
  • Toggle
Fields Export Field Contents <Step id="132" name="Export Field Contents" enable="True">
  <StepText>Script step text</StepText>
  <AutoOpen state="True"/>
  <CreateEmail state="True"/>
  <CreateDirectories state="True"/>
  <UniversalPathList>{PathList}</UniversalPathList>
  <Field name="FieldName" id="2" table="TableName"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<AutoOpen state> can be:
  • True
  • False
<CreateEmail state> can be:
  • True
  • False
<CreateDirectories state> can be:
  • True
  • False
{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Fields Insert Audio/Video <Step enable="True" id="159" name="Insert Audio/Video">
<StepText>Insert Audio/Video [ ]
</StepText>
    <UniversalPathList type="Reference">{PathList}</UniversalPathList>
</Step>
<UniversalPathList type> can be:
  • Reference
  • Embedded
{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Fields Insert Calculated Result <Step id="77" name="Insert Calculated Result" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
 {For a field as the target:
 <Field table="f3" id="2" name="test"/>
 }
 {For a variable as the target:
 <Field>$VariableName</Field>
 }

  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Insert Current Date <Step id="13" name="Insert Current Date" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
 {For a field as the target:
 <Field table="f3" id="2" name="test"/>
 }
 {For a variable as the target:
 <Field>$VariableName</Field>
 }

  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Insert Current Time <Step id="14" name="Insert Current Time" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
 {For a field as the target:
 <Field table="f4" id="2" name="test"/>
 }
 {For a variable as the target:
 <Field>$VariableName</Field>
 }

  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Insert Current User Name <Step id="60" name="Insert Current User Name" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
 {For a field as the target:
 <Field table="f4" id="2" name="test"/>
 }
 {For a variable as the target:
 <Field>$VariableName</Field>
 }

  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Insert File <Step id="131" name="Insert File" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList type="Reference">{PathList}</UniversalPathList>
 {For a field as the target:
 <Field table="f4" id="2" name="test"/>
 }
 {For a variable as the target:
 <Field>$VariableName</Field>
 }

  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>

<DialogOptions asFile="True" enable="True"> <Storage type="UserChoice"/> <Compress type="UserChoice"/> <FilterList>
<Filter id="0">
<name>
<Calculation><![CDATA["All Files"]]></Calculation>
<DisplayCalculation>
<Chunk type="NoRef">&quot;All Files&quot;</Chunk>
</DisplayCalculation>
</name>
<List>*.*</List>
</Filter>
</FilterList></DialogOptions>
</Step>
<UniversalPathList type> can be:
  • Reference
  • Embedded

"Storage type=" can be { "UserChoice"; "ReferenceOnly"; "InsertOnly"}

"Compress type=" can be { "UserChoice"; "Never"; "WhenPossible" }

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Fields Insert from Device <Step id="161" name="Insert from Device" enable="True">
   <StepText>Script step text</StepText>
   <InsertFrom value="Music Library"/>
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>
</Step>

<Step id="161" name="Insert from Device" enable="True" >
   <StepText>Script step text</StepText>
   <InsertFrom value="Photo Library">
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>
</Step>

<Step id="161" name="Insert from Device" enable="True">
   <StepText>Script step text</StepText>
   <InsertFrom value="Camera">
   <DeviceOptions>
   <Camera Choice="front"|"Back"/>
   <Resolution Choice="full"|"small"|"medium"|"large"/>
   </DeviceOptions>
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>
</Step>

<Step id="161" name="Insert from Device" enable="True">
   <StepText>Script step text</StepText>
   <InsertFrom value="Video Camera"/StepText>
   <DeviceOptions>
   <Camera Choice="front"|"Back"/>
   <Resolution Choice="full"|"small"|"medium"|"large"/>
   <MaxDuration Enabled="true"|"false">
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA[CalcString]]>
      </Calculation>
   </MaxDuration>
   <StartImmediately Enabled="true"|"false" />
   </DeviceOptions>
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>
</Step>

<Step id="161" name="Insert from Device" enable="True">
   <StepText>Script step text</StepText>
   <InsertFrom value="Microphone">
   <DeviceOptions>
   <MaxDuration Enabled="true"|"false">
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA[CalcString]]>
      </Calculation>
   </MaxDuration>
   <StartImmediately Enabled="true"|"false" />
   </DeviceOptions>
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>
</Step>

<Step id="161" name="Insert from Device" enable="True">
   <StepText>Script step text</StepText>
   <InsertFrom value="Barcode"/StepText>
   <DeviceOptions>
   <ScanFrom Type="Camera"|"Field"/>
   <Camera Choice="front"|"Back"/>
   <BarCodes Types=<barcode_bitmask32>/>
   </DeviceOptions>
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>
   <ScanFrom>
      <Field name="f1" id="2" table="test"/>
      <Repetition>
         <DisplayCalculation>
            <Chunk type="FunctionRef">Abs</Chunk>
            <Chunk type="NoRef">(13)</Chunk>
         </DisplayCalculation>
         <Calculation>
            <![CDATA["Value"]]>
         </Calculation>
      </Repetition>
   </ScanFrom>
</Step>

<Step id="161" name="Insert from Device" enable="True">
   <StepText>Script step text</StepText>
   <InsertFrom value="Signature">
   <Field name="f1" id="2" table="test"/>
   <Repetition>
      <DisplayCalculation>
         <Chunk type="FunctionRef">Abs</Chunk>
         <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
         <![CDATA["Value"]]>
      </Calculation>
   </Repetition>

   <DeviceOptions>
      <Title>
         <Calculation> <![CDATA["Value"]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">"my test"</Chunk>
         </DisplayCalculation>
      </Title>
      <Message>
         <Calculation> <![CDATA["Value"]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">"This is my test"</Chunk>
         </DisplayCalculation>
      </Message>
      <Prompt>
         <Calculation> <![CDATA["Value"]]></Calculation>
         <DisplayCalculation>
            <Chunk type="NoRef">"This is my test"</Chunk>
         </DisplayCalculation>
      </Prompt>
      <Presentation value="Full Screen"/>
   </DeviceOptions>

</Step>
<barcode_bitmask32> values:
  • 0x00000001 = BARCODE_Code39
  • 0x00000002 = BARCODE_Code93
  • 0x00000004 = BARCODE_Code128
  • 0x00000008 = BARCODE_EAN8
  • 0x00000010 = BARCODE_EAN13
  • 0x00000020 = BARCODE_EAN_UPC_Composite
  • 0x00000040 = BARCODE_GS1_2Digit
  • 0x00000080 = BARCODE_GS1_5Digit
  • 0x00000100 = BARCODE_GS1_DataBar_Expanded
  • 0x00000200 = BARCODE_GS1_DataBar_RSSc
  • 0x00000400 = BARCODE_Interleaved
  • 0x00000800 = BARCODE_ISBN10
  • 0x00001000 = BARCODE_ISBN13
  • 0x00002000 = BARCODE_QR_Code
  • 0x00004000 = BARCODE_UPC_A
  • 0x00008000 = BARCODE_UPC_E
  • 0x00010000 = BARCODE_CODABAR
  • 0x00020000 = BARCODE_PDF417
  • 0x00040000 = BARCODE_ITF14
  • 0x00080000 = BARCODE_Aztec
  • 0x00100000 = BARCODE_Data_Matrix
  • 0x1000 = BARCODE_Codabar
<Presentation value> can be:
  • Full Screen
  • Overlay
  • Embedded
Fields Insert from Index <Step id="11" name="Insert from Index" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Field name="f2" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Insert from Last Visited <Step id="12" name="Insert from Last Visited" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Insert from URL

<Step enable="True" id="160" name="Insert from URL">
  <StepText>Insert from URL [ Sales::Report; "https://www.filemaker.com/sales_report.pdf"] [ Select; No dialog;Verify SSL Certificates]</StepText>
  <NoInteract state="True"/>
  <SelectAll state="True"/>
  <VerifySSLCertificates state="True"/>
  <DontEncodeURL state="False"/>
  <DisplayCalculation>
     <Chunk type="NoRef">Value</Chunk>
  </DisplayCalculation>
  <Calculation>
     <![CDATA["Value"]]>
  </Calculation>
  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
   {For a variable as the target:
  <Field>$VariableName</Field>
  }
  <CURLOptions>
   <Calculation><![CDATA["Value"]]></Calculation>
   <DisplayCalculation>
      <Chunk type="NoRef">Value</Chunk>
   </DisplayCalculation>
  </CURLOptions>
</Step>

<NoInteract state> can be:
  • True
  • False
<SelectAll state> can be:
  • True
  • False
<VerifySSLCertificates state> can be:
  • True
  • False
<DontEncodeURL state> can be:
  • True
  • False
NOTE: This logic is the opposite of the UI because the flag being stored in the step is reversed for backward compatibility.
Fields Insert Object <Step id="78" name="#[OBSOLETE]Insert Object" enable="True">
  <StepText>Script step text</StepText>
  <Set state="True"/>
  <UniversalPathList>{PathList}</UniversalPathList>
  <OLEData>
    <![CDATA[{OLE data}]]>
  </OLEData>
  <ObjectType>{Object Type}</ObjectType>
</Step>
<Set state> can be:
  • True
  • False

<UniversalPath> is only present if the inserted object is of type "Create from File".

Note : Although it makes sense for the
<UniversalPathList reference> attribute to be supported for this script step, the setting of the 'Link' checkbox in the Insert Object dialog is actually stored in the OLEData element's CDATA, despite the fact that the file chosen via this dialog is not (since it is stored in the <UniversalPathList> element).

It is no longer possible to create this script; although, you can have step in a converted file.

Fields Insert PDF <Step enable="True" id="158" name="Insert PDF">
<StepText>Insert PDF [ ]
</StepText>
    <UniversalPathList type="Reference">{PathList}</UniversalPathList>
</Step>
<UniversalPathList type> can be:
  • Reference
  • Embedded
{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Fields Insert Picture <Step id="56" name="Insert Picture" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList type="Reference">{PathList}</UniversalPathList>
</Step>
<UniversalPathList type> can be:
  • Reference
  • Embedded
{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Fields Insert Text <Step id="61" name="Insert Text" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Text>&quot;Text to insert&quot;</Text>
 {For a field as the target:
 <Field table="f1" id="2" name="test"/>
 }
 {For a variable as the target:
 <Field>$VariableName</Field>
 }

  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Fields Relookup Field Contents <Step id="40" name="Relookup Field Contents" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <Field name="f2" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<NoInteract state> can be:
  • True
  • False
Fields Replace Field Contents <Step id="91" name="Replace Field Contents" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <With value="None">
</Step>

<Step id="91" name="Replace Field Contents" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <With value="CurrentContents">
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>

<Step id="91" name="Replace Field Contents" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <With value="SerialNumbers">
  <SerialNumbers UseEntryOptions="False"
    InitialValue="0" Increment="1" UpdateEntryOptions="False"/>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>

<Step id="91" name="Replace Field Contents" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <With value="Calculation">
  <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
  <Calculation>
    <![CDATA[Abs ( f3 )]]>
  </Calculation>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<NoInteract state> can be:
  • True
  • False
<With value> can be:
  • None
  • CurrentContents
  • SerialNumbers
  • Calculation
<SerialNumbers UseEntryOptions> can be:
  • True
  • False
<SerialNumbers UpdateEntryOptions> can be:
  • True
  • False

<With value> reflects the user's choice of what to replace the specified fields contents with.

<SerialNumbers> is present when
<With value> is "SerialNumbers".

<SerialNumbers InitialValue> and <SerialNumbers Increment> can optionally be used to control serial number generation.

<Calculation> is present when <With value> is "Calculation".

Fields Set Field <Step id="76" name="Set Field" enable="True">
  <StepText>Script step text</StepText>
  <Field name="f1" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
Fields Set Field By Name

<Step id="147" name="Set Field By Name" enable="True">
<StepText>Script step text</StepText>

<TargetName>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
   <DisplayCalculation>
      <Chunk type="NoRef"></Chunk>
   </DisplayCalculation>
</TargetName>

<Result>
   <Calculation>
        <![CDATA[CalcString]]>
   </Calculation>
   <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
</Result>

</Step>

<TargetName> and <Result> will not appear if that option was not specified in the step.

<TargetName> specifies the target field's name

<Result> specifies the value to be placed in that field.

Fields Set Next Serial Value <Step id="116" name="Set Next Serial Value" enable="True">
  <StepText>Script step text</StepText>
  <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
  <Calculation>
    <![CDATA[12]]>
  </Calculation>
  <Field name="f3" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
Fields Update Link <Step id="96" name="#[OBSOLETE]Update Link" enable="True">
  <StepText>Script step text</StepText>
  <Field name="f2" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
It is no longer possible to create this script; although, you can have step in a converted file.
Records Commit Records/Requests <Step id="75" name="Commit Records/Requests" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <Option state="true"/>
<ESSForceCommit state="True"></ESSForceCommit> </Step>
<NoInteract state> can be:
  • True
  • False
<Option state> can be:
  • True
  • False
Records Copy All Records <Step id="98" name="Copy All Records/Requests" enable="True">
  <StepText>Script step text</StepText>
</Step>
Records Copy Record/Request <Step id="101" name="Copy Record/Request" enable="True">
  <StepText>Script step text</StepText>
</Step>
Records Delete All Records <Step id="10" name="Delete All Records" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
</Step>
<NoInteract state> can be:
  • True
  • False
Records Delete Portal/Row <Step id="104" name="Delete Portal Row" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
</Step>
<NoInteract state> can be:
  • True
  • False
Records Delete Record/Request <Step id="9" name="Delete Record/Request" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
</Step>
<NoInteract state> can be:
  • True
  • False
Records Duplicate Record/Request <Step id="8" name="Duplicate Record/Request" enable="True">
  <StepText>Script step text</StepText>
</Step>
Records Export Records <Step id="36" name="Export Records" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <Restore state="True"/>
  <AutoOpen state="True"/>
  <CreateEmail state="True"/>
  <CreateDirectories state="True"/>

{for non XML file data source (specified in UniversalPathList) :
  <Profile DataType={dataType}/>
}
{for XML file data source (specified in UniversalPathList) :
  <Profile DataType="XMLE" grammar="FMPXMLRESULT" XSLType="XSLFile">
    <XSLFile>
      <UniversalPathList>{PathList}</UniversalPathList>
   </XSLFile>
    <XSLHttp>{http}</XSLHttp>
    <XSLCalc>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
    </XSLCalc>
  </Profile>
}

{for Excel file data source (specified in UniversalPathList) :
  See <SaveType>, <UseFieldNames>,
  <WorkSheet>, <Title>, <Subject>, and <Author>
  from Save Records as Excel.
}
  <UniversalPathList>{PathList}</UniversalPathList>
  <CreateDirectories state="True"/>
  
  <ExportOptions
    CharacterSet="Windows"/>
    FormatUsingCurrentLayout="True"/>
  </ExportOptions>

  <ExportEntries>
    <ExportEntry>
      <Field name={FieldName} id="2" repetition="2" table={Table}/>
      <Field name={FieldName} id="2" repetition="2" table={Table}/>
    </ExportEntry>
    ...
  </ExportEntries>

  <SummaryFields>
    <Field name={FieldName} id="2" repetition="2" table={Table}/>
    <Field name={FieldName} id="2" repetition="2" table={Table}/>
    ...
  </SummaryFields>
</Step>
<NoInteract state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<AutoOpen state> can be:
  • True
  • False
<CreateEmail state> can be:
  • True
  • False
<CreateDirectories state> can be:
  • True
  • False
<Profile grammar> can be:
  • FMPXMLRESULT
  • FMPDSORESULT
<Profile XSLType> can be:
  • NoXSL
  • XSLFile
  • XSLHttp
  • XSLCalculation

See Save Records as Excel for details on <SaveType> and <UseFieldNames>.

<ExportOptions CharacterSet> can be:
  • Windows
  • DOS
  • Macintosh
  • Unicode
  • UTF-8
  • IsoLatin1
  • ShiftJIS
  • ChineseSimplified
<ExportOptions FormatUsingCurrentLayout> can be:
  • True
  • False

<XSLFile> is only present if <Profile XSLType> is "XSLFile"

<XSLHttp> is only present if <Profile XSLType> is "XSLHttp"

<XSLCalc> is only present if <Profile XSLType> is "XSLCalculation"

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

<ExportEntry> node normally contains only one <Field> sub-node (identifying a field to be exported) but will contain a second one if the first is a summary field and the user requested that exported records be grouped by some field, in which case the second field is a "summarize by" field.

<Field repetition> is only output if > 1

Records Import Records

<Step id="35" name="Import Records" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <NotWinStep state="True"/>
  <Restore state="True"/>
  <VerifySSLCertificates state="True"/>
  <DataSourceType value="File"/>

{for Excel file data source (specified in <UniversalPathList>) :
  <Profile DataType="XLS " FirstRowIsData="True"
     SelectedSheet={sheet}
     WorksheetName={SheetName}>
}
{for non-Excel file data source (specified in <UniversalPathList>) :
  <Profile DataType={DataType} FirstRowIsData="True" FieldDelimiter="{delimiter}" IsPredefined="1" FieldNameRow="0"/>
}
{for folder data source (specified in <UniversalPathList>) :
  <Profile DataType="BTCH" FirstRowIsData="True
     IncludeEnclosedFolders="True"
     PictureAndMovieImport="True" ImportByReference="True"/>
  </Profile>
}
{for image capture data source :
  <Profile DataType="IMGC" FirstRowIsData="True"
     DeviceName={DeviceName}
     DownloadType="AllImages"
     NumImagesToImport="1"
     ImportByReference="True"
     DownloadLocation="PicturesFolder"
     CustomFolderName={CustomFolderName}
     ThumbNailSize="LargeThumbnail"/>
}

{for XML data source :
  <Profile DataType="XML " FirstRowIsData="True"
     XMLType="XMLFile" XSLType="XSLFile">
    <XMLFile>{PathList}</XMLFile>
    <XMLHttp>{http}</XMLHttp>
    <XMLCalc>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
    </XMLCalc>
    <XSLFile>
      <UniversalPathList>{PathList}</UniversalPathList>
    </XSLFile>
    <XSLHttp>{http}</XSLHttp>
    <XSLCalc>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
    </XSLCalc>
  </Profile>
}
{for ODBC data source :
  <Profile DataType="ODBC" FirstRowIsData="True"
     dsn={Dsn} UserName={UserName}
     password={Password} flags={flags} QueryType="Query">
    <QueryCalc>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
    </QueryCalc>
    <Query>{QueryText}</Query>
  </Profile>
}

  <UniversalPathList>{PathList}</UniversalPathList>

  <ImportOptions
     method="UpdateOnMatch"
     SplitRepetitions="True"
     AutoEnter="True"
     AddRemainingRecords="True"
     MatchFieldNames="True"
     PreserveContainer="False"
     CharacterSet="Windows"/>

  <Table name={Table} id="1"/>

  <TargetFields>
    <Field name={FieldName} id="1" map="Import" FieldOptions="0"/>
    <Field/>
    <Field name={FieldName} id="2" map="Match" FieldOptions="0"/>
    ...
  </TargetFields>
</Step>

<NoInteract state> can be:
  • True
  • False
<NotWinStep state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<VerifySSLCertificates state> can be:
  • True
  • False
<DataSourceType value> can be:
  • File
  • Folder
  • XMLSource
  • ODBCSource
<Profile FirstRowIsData> can be:
  • True
  • False
<Profile IsPredefined> can be:
  • 1 (predefined delimiter)
  • 0 (custom delimiter)
  • -1 (no delimiter specified)
<Profile FieldNameRow> can be:
  • 0 (use first row as field names)
  • n (use row n + 1 as field names)
  • -1 (all rows are data)
<Profile ImportByReference> can be:
  • True
  • False
<Profile IncludeEnclosedFolders> can be:
  • True
  • False
lt;Profile PictureAndMovieImport> can be:
  • True
  • False
<Profile DownloadType> can be:
  • AllImages
  • SomeImages
  • LastXImages
<collection> can be:
  • True
  • False
<Profile DownloadLocation> can be:
  • PicturesFolder
  • CustomFolder
<Profile ThumbnailSize> can be:
  • LargeThumbnail
  • MediumThumbnail
  • SmallThumbnail
<Profile XMLType> can be:
  • NoXML
  • XMLFile
  • XMLHttp
  • XMLCalculation
<Profile XSLType> can be:
  • NoXSL
  • XSLFile
  • XSLHttp
  • XSLCalculation
<Profile QueryType> can be:
  • Query
  • Calculation
<ImportOptions method> can be:
  • Add
  • Update
  • UpdateOnMatch
<ImportOptions SplitRepetitions> can be:
  • True
  • False
<ImportOptions AutoEnter> can be:
  • True
  • False
<ImportOptions AddRemainingRecords> can be:
  • True
  • False
<ImportOptions PreserveContainer> can be:
  • True
  • False
<ImportOptions MatchFieldNames> can be:
  • True
  • False
<ImportOptions CharacterSet> can be:
  • Windows
  • DOS
  • Macintosh
  • Unicode
  • UnicodeBE
  • UTF-8
  • ShiftJIS
  • ChineseSimplified
<Field Map> can be:
  • Import
  • Match
  • DoNotImport
<Field FieldOptions> can be:
  • 0 (disabled)
  • 2 (Perform auto-enter options enabled for this field)

<AddRemainingRecords> is only meaningful when method value is "UpdateOnMatch".

<TargetFields> contains a list of all fields in the destination table. Entries that are blank are represented by an empty field node </Field>.

<Profile FieldNameRow> is the row to use as field names and is set in the Specify Import Options dialog box. If set, FieldNameRow takes precedence over the FirstRowIsData value set in the First Row Option dialog box.

<XMLFile> is only present if <Profile XMLType> is "XMLFile".

{PathList} in <XMLFile> is the same as that in
<UniversalPathList>.

<XMLHttp> is only present if <Profile XMLType> is "XMLHttp"

<XMLCalc> is only present if <Profile XMLType> is "XMLCalculation"

<XSLFile> is only present if <Profile XSLType> is "XSLFile"

<XSLHttp> is only present if <Profile XSLType> is "XSLHttp"

<XSLCalc> is only present if <Profile XSLType> is "XSLCalculation"

<QueryCalc> is only present if <Profile QueryType> is "Calculation"

<Query> is only present if <Profile QueryType> is "Query"

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

For a request to import into a new table :

  • <Table> element. is absent
  • {FieldName} for each <Field> element child of

<TargetFields> element is index of field from data source to import into that target field. Each target field's actual name will be determined by the name of the corresponding source field in the same position (as previously established in the 'Import Mapping' dialog) when the script step is eventually performed.

Records New Record/Request <Step id="7" name="New Record/Request" enable="True">
  <StepText>Script step text</StepText>
</Step>
Records Open Record/Request <Step id="133" name="Open Record/Request" enable="True">
  <StepText>Script step text</StepText>
</Step>
Records Revert Record/Request <Step id="51" name="Revert Record/Request" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
</Step>
<NoInteract state> can be:
  • True
  • False
Records Save Records as Excel <Step id="143" name="Save Records as Excel" enable="True">
    <StepText>Script step text</StepText>
    <NoInteract state="True"/>
    <Restore state="True"/>
    <AutoOpen state="True"/>
    <CreateEmail state="True"/>
    <CreateDirectories state="True"/>
    <Profile DataType="XLXE" FirstRowIsData="True"/>
    <UniversalPathList>{PathList}</UniversalPathList>
    <SaveType value="BrowsedRecords"/>
    <UseFieldNames state="True"/>

    <WorkSheet>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
    </WorkSheet>

    <Title>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
    </Title>

    <Subject>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
    </Subject>

    <Author>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
    </Author >
</Step>
<NoInteract state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<AutoOpen state> can be:
  • True
  • False
<CreateEmail state> can be:
  • True
  • False
<CreateDirectories state> can be:
  • True
  • False
<SaveType value> can be:
  • BrowsedRecords
  • CurrentRecord
<UseFieldNames state> can be:
  • True
  • False
<Profile DataType> can be:
  • XLXE
<Profile FirstRowIsData> can be:
  • True
  • False

<Profile> may not be generated if there is no output file specified in the script step.

<Profile Datatype> value of "XLXE" means export to "Excel workbook (.xlsx)" type.

Records Save Records as PDF <Step id="144" name="Save Records as PDF" enable="True">
  <StepText>Script step text</StepText>
  <Option state="True"/>
  <NoInteract state="True"/>
  <Restore state="True"/>
  <AutoOpen state="True"/>
  <CreateEmail state="True"/>
  <CreateDirectories state="True"/>
  <UniversalPathList>{PathList}</UniversalPathList>

  <PDFOptions source="RecordsBeingBrowsed" appearance="AsFormatted">
    <Document compatibility="Acrobat5AndLater">
      <Title>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
       </Title>

        <Subject>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
        </Subject>

        <Author>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
        </Author >

        <KeyWords>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
        </KeyWords >

        <Pages>
        <NumberFrom>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
        </NumberFrom>

        <AllPages state="true">

        <PageRange>
        <From>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
        </From>

        <To>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
        </To>
        </PageRange>
      </Pages>
    </Document>

    <Security requireOpenPassword="True"
        requireControlEditPassword="True"
        controlPrinting="HighResolution"
        controlEditing="AnyExceptExtracting"
        enableCopying="True" allowScreenReader="True">
      <OpenPassword>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
       </OpenPassword>

      <ControlPassword>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[CalcString]]>
        </Calculation>
      </ControlPassword>
    </Security>

    <View show="PageOnly" pageLayout="SinglePage" magnification="25"/>
  </PDFOptions>
</Step>
<NoInteract state> can be:
  • True
  • False
<Option state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<AutoOpen state> can be:
  • True
  • False
<CreateEmail state> can be:
  • True
  • False
<CreateDirectories state> can be:
  • True
  • False
<PDFOptions source> can be:
  • RecordsBeingBrowsed
  • CurrentRecord
  • BlankRecord
<PDFOptions appearance> can be:
  • AsFormatted
  • WithBoxes
  • WithUnderlines
<Document compatibility> can be:
  • Acrobat5AndLater
  • Acrobat6AndLater
<AllPages state> can be:
  • True
  • False
<Security requireOpenPassword> can be
  • True
  • False
<Security requireControlEditPassword> can be:
  • True
  • False
<Security controlPrinting> can be:
  • NotPermitted
  • LowResolution
  • HighResolution
<Security controlEditing> can be:
  • NotPermitted
  • InsertingDeletingRotatingPages
  • FillingInForms
  • Commenting
  • AnyExceptExtractingPages
<Security enableCopying> can be:
  • True
  • False
<Security allowScreenReader> can be:
  • True
  • False
<View show> can be:
  • PageOnly
  • BookmarksPanelAndPage
  • PagesPanelAndPage
<View pageLayout> can be:
  • Default
  • SinglePage
  • Continuous
  • Facing
  • ContinuousFacing
<View magnification> can be:
  • Default
  • FitPage
  • FitWidth
  • FitVisible
  • 25
  • 50
  • 75
  • 100
  • 125
  • 150
  • 200
  • 400
  • 800
<PDFOptions appearance> is generated only if
  • <PDFOptions source> is "BlankRecord"
  • <Option state="True"> is "Append to Existing PDF"
Records Save Records as Snapshot Link <Step id="152" name="Save Records as Snapshot Link" enable="True">
     <CreateEmail state="True"/>
     <CreateDirectories state="True"/>
     <UniversalPathList>{PathList}</UniversalPathList>
     <SaveType value="BrowsedRecords"/>
 </Step>
<CreateEmail state> can be:
  • True
  • False
<SaveType value> can be:
  • BrowsedRecords
  • CurrentRecord
<CreateDirectories state> can be:
  • True
  • False
Records Truncate Table <Step enable="True" id="182" name="Truncate Table">
   <StepText>Truncate Table [ Table: &lt;Current Table&gt; ]</StepText>
   <NoInteract state="False"/>
   <BaseTable id="-1" name="&lt;Current Table&gt;"/>
</Step>
If <BaseTable> is not "<Current Table>", the ID and name reflect the specified table.
Found Sets Constrain Found Set <Step id="126" name="Constrain Found Set" enable="True">
   {See Perform Find}
</Step>
{See Perform Find} {See Perform Find}
Found Sets Extend Found Set <Step id="127" name="Extend Found Set" enable="True">
   {See Perform Find}
</Step>
{See Perform Find} {See Perform Find}
Found Sets Find Matching Records <Step enable="True" id="155" name="Find Matching Records">
<StepText>Find Matching Records [ Replace ]</StepText>
<FindMatchingRecordsByField value="FindMatchingReplace"/>
</Step>
<FindMatchingRecordsByField> can be:
  • FindMatchingReplace
  • FindMatchingConstrain
  • FindMatchingExtend
Found Sets Modify Last Find <Step id="24" name="Modify Last Find" enable="True">
  <StepText>Script step text</StepText>
</Step>
Found Sets Omit Multiple Records <Step id="26" name="Omit Multiple Records" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[CalcString]]>
    </Calculation>
</Step>
<NoInteract state> can be:
  • True
  • False
Found Sets Omit Record <Step id="25" name="Omit Record" enable="True">
  <StepText>Script step text</StepText>
</Step>
Found Sets Perform Find <Step id="28" name="Perform Find" enable="True">
  <StepText>Script step text</StepText>
  <Restore state="True"/>
  <Query table="test123">
    <RequestRow operation="Include">
      <Criteria>
        <Text>&gt; 11</Text>
        <Field name="f2" id="2" repetition="2" table="test123"/>
      </Criteria>
      <Criteria>
        <Text>&lt; 23</Text>
        <Field name="f3" id="2" repetition="2" table="test123"/>
      </Criteria>
    </RequestRow>
    <RequestRow operation="Exclude">
      <Criteria>
        <Text>&gt; &quot;wow&quot;</Text>
        <Field name="f3" id="2" repetition="2" table="test123"/>
      </Criteria>
      <Criteria>
        <Text>&gt; test</Text>
        <Field name="f4" id="2" repetition="2" table="test123"/>
      </Criteria>
      <Criteria>
        <Text>&gt; &quot;hello there </Text>
        <Field name="f5" id="2" repetition="2" table="test123"/>
      </Criteria>
    </RequestRow>
  </Query>
</Step>
<Restore state> can be:
  • True
  • False
<RequestRow operation> can be:
  • Include
  • Exclude

Query node can have 1 or more RequestRow sub-nodes.

Each RequestRow node can in turn have 1 or more Criteria sub-nodes.

<Text> contains the actual criteria itself that will be applied to <Field>.

<Field repetition> is only output if > 1.

Found Sets Perform Quick Find <Step enable="True" id="150" name="Perform Quick Find">
  <StepText>Script step text</StepText>
  <Calculation>
    <! [CDATA[ "Value" ]] >
  </Calculation>
  <DisplayCalculation>
    <Chunk type="NoRef">"Value"</Chunk>
  </DisplayCalculation>
</Step>
Found Sets Show All Records <Step id="23" name="Show All Records" enable="True">
  <StepText>Script step text</StepText>
</Step>
Found Sets Show Omitted Only <Step id="27" name="Show Omitted Only" enable="True">
  <StepText>Script step text</StepText>
</Step>
Found Sets Sort Records <Step id="39" name="Sort Records" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="False"/>
  <Restore state="True"/>
  <SortList>
    <Sort type="Descending">
      <PrimaryField>
        <Field name="f1" id="1" table="test123"/>
      </PrimaryField>
    </Sort>
    <Sort type="Ascending">
      <PrimaryField>
        <Field name="f4" id="2" table="test123"/>
      </PrimaryField>
      <SummaryField>
        <Field name="summary" id="3" table="test123"/>
      </SummaryField>
      <OverrideLanguage language="Japanese"/>
    </Sort>
    <Sort type="Custom">
      <PrimaryField>
        <Field name="f5" id="4" table="test123"/>
      </PrimaryField>
      <ValueList name="New Value List" id="1"/>
    </Sort>
  </SortList>
</Step>
<NoInteract state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<Sort type> can be:
  • Ascending
  • Descending
  • Custom
<OverrideLanguage language> can be:
  • English
  • Japanese
  • ...

<ValueList> node exists if <Sort type> is Custom

<SummaryField> and <OverrideLanguage> sub-nodes are optional.

Found Sets Sort Records by Field <Step enable="True" id="154" name="Sort Records by Field">
<StepText>Sort Records by Field [ Ascending ]</StepText>
<SortRecordsByField value="SortAscending"/>
</Step>
<SortRecordsByField> can be:
  • SortAscending
  • SortDescending
  • SortValueList
Found Sets Unsort Records <Step id="21" name="Unsort Records" enable="True">
  <StepText>Script step text</StepText>
</Step>
Windows Adjust Window <Step id="31" name="Adjust Window" enable="True">
  <StepText>Script step text</StepText>
  <WindowState value="Maximize"/>
</Step>
<WindowState value> can be:
  • ResizeToFit
  • Maximize
  • Minimize
  • Restore
  • Hide
Windows Arrange All Windows <Step id="120" name="Arrange All Windows" enable="True">
  <StepText>Script step text</StepText>
  <WindowArrangement value="TileHorizontally"/>
</Step>
<WindowArrangement Value> can be:
  • TileHorizontally
  • TileVertically
  • Cascade
  • BringAllToFront
Windows Close Window <Step id="121" name="Close Window" enable="True">
  <StepText>Script step text</StepText>
  <Window value="ByName"/>
  <LimitToWindowsOfCurrentFile state="True"/>
  <Name>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA["Customer Name"]]>
    </Calculation>
  </Name>
</Step>
<Window value> can be:
  • Current
  • ByName
<LimitToWindowsOfCurrentFile state> can be:
  • True
  • False
<Name> is present when <Window value> is "ByName".
Windows Freeze Window <Step id="79" name="Freeze Window" enable="True">
  <StepText>Script step text</StepText>
</Step>
Windows Move/Resize Window <Step id="119" name="Move/Resize Window" enable="True">
  <StepText>Script step text</StepText>
  <Window value="Current"/>
  <LimitToWindowsOfCurrentFile state="True"/>
  {See New Window for remaining XML}
</Step>
<Window value> can be:
  • Current
  • ByName
<LimitToWindowsOfCurrentFile state> can be:
  • True
  • False
{See New Window for remaining details.}
{See New Window.}
Windows New Window <Step id="122" name="New Window" enable="True">
  <StepText>Script step text</StepText>
  <Name>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA["WindowName"]]>
    </Calculation>
  </Name>
  <Height>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[200]]>
    </Calculation>
  </Height>
  <Width>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[400]]>
    </Calculation>
  </Width>
  <DistanceFromTop>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[100]]>
    </Calculation>
  </DistanceFromTop>
  <DistanceFromLeft>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[125]]>
    </Calculation>
  </DistanceFromLeft>

  <NewWndStyles Style="Dialog" Close="Yes" Minimize="No" Maximize="Yes" Resize="Yes" MenuBar="Yes" DimParentWindow="No" Styles="{value}" />

  <LayoutDestination value="SelectedLayout"/>
  <Layout name="LayoutName" id="1"/>

</Step>
Inside <NewWndStyles>, Style can be:
  • Document
  • Floating
  • Dialog
  • Card
Close/Minimize/Maximize/Resize/MenuBar/DimParentWindow can be:
  • Yes
  • No
<LayoutDestination value> can be:
  • CurrentLayout
  • SelectedLayout
  • LayoutNameByCalc
  • LayoutNumberByCalc

<Styles> is a decimal value of window options.

<Layout> element is output only if <LayoutLocation value> is not "OriginalLayout."

<Calculation> element is output only if <LayoutDestination value> is "LayoutNameByCalc" or "LayoutNumberByCalc."

<Layout id> is required in case there is more than one layout with the same name.

Windows Refresh Window <Step id="80" name="Refresh Window" enable="True">
  <StepText>Script step text</StepText>
  <Option state="True" />
  <FlushSQLData state="True" />
</Step>
<Option state> can be:
  • True
  • False
<FlushSQLData state> can be:
  • True
  • False

<Option> corresponds to the "flush cached join results" option.

<FlushSQLData> corresponds to the "flush cached SQL data" option.

Windows Scroll Window <Step id="81" name="Scroll Window" enable="True">
  <StepText>Script step text</StepText>
  <ScrollOperation value="Home"/>
</Step>
<ScrollOperation value> can be:
  • Home
  • End
  • PageUp
  • PageDown
  • ToSelection
Windows Select Window <Step id="123" name="Select Window" enable="True">
  <StepText>Script step text</StepText>
  <Window value="ByName"/>
  <LimitToWindowsOfCurrentFile state="True"/>
  <Name>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA["Customer Name"]]>
    </Calculation>
  </Name>
</Step>
<Window value> can be:
  • Current
  • ByName
<LimitToWindowsOfCurrentFile state> can be:
  • True
  • False
<Name> is present when <Window value> is "ByName".
Windows Set Window Title <Step id="124" name="Set Window Title" enable="True">
  <StepText>Script step text</StepText>
  <Window value="ByName"/>
  <LimitToWindowsOfCurrentFile state="True"/>
  <Name>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA["Customer Name"]]>
    </Calculation>
  </Name>
  <NewName>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA["New Title"]]>
    </Calculation>
  </NewName>
</Step>
<Window value> can be:
  • Current
  • ByName
<LimitToWindowsOfCurrentFile state> can be:
  • True
  • False
<Name> is present when <Window value> is "ByName".
Windows Set Zoom Level <Step id="97" name="Set Zoom Level" enable="True">
  <StepText>Script step text</StepText>
  <Lock state="True"/>
  <Zoom value="75"/>
</Step>
<Lock state> can be:
  • True
  • False
<Zoom value> can be:
  • 25
  • 50
  • 75
  • 100
  • 150
  • 200
  • 300
  • 400
  • ZoomIn
  • ZoomOut
Windows Show/Hide Menubar <Step id="166" name="Show/Hide Menubar" enable="True">
  <StepText>Show/Hide Menubar</StepText>
  <Lock state="True"/>
  <ShowHide value="Toggle"/>
</Step>
<Lock value> can be:
  • True
  • False
<ShowHide value> can be:
  • Show
  • Hide
  • Toggle
Windows Show/Hide Text Ruler <Step id="92" name="Show/Hide Text Ruler" enable="True">
  <StepText>Script step text</StepText>
  <ShowHide value="Hide"/>
</Step>
<ShowHide value> can be:
  • Show
  • Hide
  • Toggle
Windows Show/Hide Toolbars <Step id="29" name="Show/Hide Toolbars" enable="True">
  <StepText>Script step text</StepText>
  <Lock state="True"/>
  <ShowHide value="Hide"/>
</Step>
<Lock state> can be:
  • True
  • False
<ShowHide value> can be:
  • Show
  • Hide
  • Toggle
Windows View As <Step id="30" name="View As" enable="True">
  <StepText>Script step text</StepText>
   <View value="Form"/>
</Step>
<View value> can be:
  • Form
  • List
  • Table
  • Cycle
Files Close Data File <Step id="196" name="Close Data File" enable="True">
  <StepText>Script step text</StepText>
   <Calculation>
     <![CDATA["$fileID"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$fileID</Chunk>
   </DisplayCalculation>
</Step>
Files Close File

<Step id="34" name="Close File" enable="True">
  <StepText>Script step text</StepText>

  {For a FileMaker data source:
  <FileReference name={name} id="1">
    <UniversalPathList>{PathList}</UniversalPathList>
  </FileReference>
  }

  {For an ODBC data source:
  <OdbcDataSource name={name} id="1" DSN="..."
   promptForLogin="False">
    <Username>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
    </Username>
    <Password>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
    </Password>
    <FilterTables tableName="{TableName}"
     schemaName="{SchemaName}"
     catalogName="{CatalogName}"
     typeBasedFilter="True" retrieveTables="True"
     retrieveViews="True" retrieveSystemTables="True"/>
  </OdbcDataSource>
  }
</Step>

<OdbcDataSource promptForLogin> can be:
  • True
  • False
<FilterTables typeBasedFilter> can be:
  • True
  • False
<FilterTables retrieveTables> can be:
  • True
  • False
<FilterTables retrieveViews> can be:
  • True
  • False
<FilterTables retrieveSystemTables> can be:
  • True
  • False

If neither <FileReference> nor <OdbcDataSource> nodes
are present, the current file is closed.

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

<Username> and <Password> are present only if <OdbcDataSource promptForLogin> is "False" (that is, the user has entered login credentials for the ODBC data source).

Files Convert File <Step id="139" name="Convert File" enable="True">
  {See Import Records, except for folder data source options, which Convert File does not have.}
</Step>
{See Import Records, except for folder data source options, which Convert File does not have.}
Files Create Data File <Step id="190" name="Create Data File" enable="True">
  <StepText>Script step text</StepText>
  <CreateDirectories state="True"/>
  <UniversalPathList>{PathList}</UniversalPathList>
</Step>
<CreateDirectories state> can be:
  • True
  • False
Files Delete File <Step id="197" name="Delete File" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList>{PathList}</UniversalPathList>
</Step>
Files Get Data File Position <Step id="194" name="Get Data File Position" enable="True">
  <StepText>Script step text</StepText>
   <Calculation>
     <![CDATA["$fileID"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$fileID</Chunk>
   </DisplayCalculation>
  <Text/>
  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
  {For a variable as the target:
  <Field>$VariableName</Field>
  }
</Step>
Files Get File Exists <Step id="188" name="Get File Exists" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList>{PathList}</UniversalPathList>
  <Text/>
</Step>
Files Get File Size <Step id="189" name="Get File Size" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList>{PathList}</UniversalPathList>
  <Text/>
  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
  {For a variable as the target:
  <Field>$VariableName</Field>
  }
</Step>
Files New File <Step id="82" name="New File" enable="True">
  <StepText>Script step text</StepText>
</Step>
Files Open Data File <Step id="191" name="Open Data File" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList>{PathList}</UniversalPathList>
  <Text/>
  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
  {For a variable as the target:
  <Field>$VariableName</Field>
  }
</Step>
Files Open File

<Step id="33" name="Open File" enable="True">
  <StepText>Script step text</StepText>
  <Option state="True"/>

  {For a FileMaker data source:
  <FileReference name={name} id="1">
    <UniversalPathList>{PathList}</UniversalPathList>
  </FileReference>
  }

  {For an ODBC data source:
  <OdbcDataSource name={name} id="1" DSN="..."
   promptForLogin="False">
    <Username>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
    </Username>
    <Password>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
    </Password>
    <FilterTables tableName="{TableName}"
     schemaName="{SchemaName}"
     catalogName="{CatalogName}"
     typeBasedFilter="True" retrieveTables="True"
     retrieveViews="True" retrieveSystemTables="True"/>
  </OdbcDataSource>
  }
</Step>

<Option state> can be:
  • True
  • False
<OdbcDataSource promptForLogin> can be:
  • True
  • False
<FilterTables typeBasedFilter> can be:
  • True
  • False
<FilterTables retrieveTables> can be:
  • True
  • False
<FilterTables retrieveViews> can be:
  • True
  • False
<FilterTables retrieveSystemTables> can be:
  • True
  • False

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

<Username> and <Password> are present only if <OdbcDataSource promptForLogin> is "False" (that is, user has entered login credentials for the ODBC data source).

Files Print <Step id="43" name="Print" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <Restore state="true">
  <PrintSettings PrintType="BrowsedRecords" NumCopies="1"
     collated="True" AllPages="False" FromPage="1" ToPage="5"
     PrintToFile="False" PageNumberingOffset="1">
    <PlatformData PlatformType={PlatformType}>
      <![CDATA[{Flattened Windows/Mac specific settings}]]>
    </PlatformData>
  </PrintSettings>
</Step>
<NoInteract state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<PrintSettings PrintType> can be:
  • BrowsedRecords
  • CurrentRecord
  • BlankAsFormatted
  • BlankBoxed
  • BlankUnderscore
<PrintSettings collated> can be:
  • True
  • False
<PrintSettings AllPages> can be:
  • True
  • False
<PrintSettings PrintToFile> can be:
  • True
  • False
See Print Setup for details on PageFormat element.
Files Print Setup <Step id="42" name="Print Setup" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="False"/>
  <Restore state="true">
  <PageFormat PaperTop="0" PaperLeft="0"
     PaperBottom="3300" PaperRight="2550"
     PrintableWidth="3150" PrintableHeight="2250"
     ScaleFactor="1" PageOrientation="Portrait">
    <PlatformData PlatformType={PlatformType}>
      <![CDATA[{Flattened Windows/Mac specific settings}]]>
    </PlatformData>
  </Format>
</Step>
<NoInteract state> can be:
  • True
  • False
<Restore state> can be:
  • True
  • False
<PageFormat PageOrientation> can be:
  • Portrait
  • ReversePortrait
  • Landscape
  • ReverseLandscape
Files Read from Data File <Step id="193" name="Read from Data File" enable="True">
  <StepText>Script step text</StepText>
  <DataSourceType value="{Value}"/>
   <Calculation>
     <![CDATA["$fileID"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$fileID</Chunk>
   </DisplayCalculation>
  <Text/>
  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
  {For a variable as the target:
  <Field>$VariableName</Field>
  }
  <Count>
   <Calculation>
     <![CDATA["$amount"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$amount</Chunk>
   </DisplayCalculation>
  </Count>
</Step>
<DataSourceType value> can be:
  • 1 (read as UTF-16, macOS only)
  • 2 (read as UTF-8)
  • 3 (read as bytes)
<Count> node exists only if a value for the Amount option is specified.
Files Recover File <Step id="95" name="Recover File" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <UniversalPathList>{PathList}</UniversalPathList>
</Step>
<NoInteract state> can be:
  • True
  • False
{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Files Rename File <Step id="199" name="Rename File" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList>{PathList}</UniversalPathList>
   <Calculation>
     <![CDATA[$sourceFilePath]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$sourceFilePath</Chunk>
   </DisplayCalculation>
</Step>
Files Save a Copy As <Step id="37" name="Save a Copy as" enable="True">
  <StepText>Script step text</StepText>
  <AutoOpen state="True"/>
  <CreateEmail state="True"/>
  <CreateDirectories state="True"/>
  <SaveAsType value="Copy"/>
  <UniversalPathList>{PathList}</UniversalPathList>
</Step>
<SaveAsType value> can be:
  • Copy
  • CompactedCopy
  • SelfContainedCopy
  • Clone
<AutoOpen state> can be:
  • True
  • False
<CreateEmail state> can be:
  • True
  • False
<CreateDirectories state> can be:
  • True
  • False
{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.
Files Save a Copy As XML <Step id="3" name="Save a Copy as XML" enable="True">
  <StepText>Script step text</StepText>
  <UniversalPathList>{PathList}</UniversalPathList>
   <Calculation>
     <![CDATA["Value"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="FunctionRef">Abs</Chunk>
     <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
</Step>
Files Set Data File Position <Step id="195" name="Set Data File Position" enable="True">
  <StepText>Script step text</StepText>
   <Calculation>
     <![CDATA[$fileID]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$fileID</Chunk>
   </DisplayCalculation>
  <position>
   <Calculation>
     <![CDATA["$newPosition"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$newPosition</Chunk>
   </DisplayCalculation>
  </position>
</Step>
Files Set Multi-User <Step id="84" name="Set Multi-User" enable="True">
  <StepText>Script step text</StepText>
  <MultiUser value="True"/>
</Step>
<MultiUser value> can be:
  • True
  • False
OnHidden
Files Set Use System Formats <Step id="94" name="Set Use System Formats" enable="True">
  <StepText>Script step text</StepText>
  <Set state="True"/>
</Step>
<Set state> can be:
  • True
  • False
Files Write to Data File <Step id="192" name="Write to Data File" enable="True">
  <StepText>Script step text</StepText>
  <AppendLineFeed state="True"/>
  <DataSourceType value="{Value}"/>
   <Calculation>
     <![CDATA["$fileID"]]>
   </Calculation>
   <DisplayCalculation>
     <Chunk type="NoRef">$fileID</Chunk>
   </DisplayCalculation>
  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
  {For a variable as the target:
  <Field>$VariableName</Field>
  }
</Step>
<AppendLineFeed state> can be:
  • True
  • False
<DataSourceType value> can be:
  • 1 (write as UTF-16, macOS only)
  • 2 (write as UTF-8)
Account Add Account <ScriptStep id="134" name="Add Account" enable="True">
  <StepText>Script step text</StepText>
  <ChgPwdOnNextLogin value="True">

  <AccountName>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </AccountName>

  <Password>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </Password>

  <PrivilegeSet name={Privilege Set Name} id="1"/>
</Step>
Account Change Password <Step id="83" name="Change Password" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <OldPassword>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </OldPassword>

  <NewPassword>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </NewPassword>
</Step>

<StepText> contains the full detailed description of this script step along with its options. The contents of this node are the same as when this script is printed.

<NoInteract state> can be:
  • True
  • False
Account Delete Account <ScriptStep id="135" name="Delete Account" enable="True">
  <StepText>Script step text</StepText>
  <AccountName>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </AccountName>
</Step>
Account Enable Account <ScriptStep id="137" name="Enable Account" enable="True">
  <StepText>Script step text</StepText>
  <AccountOperation value="Activate"/>
  <AccountName>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </AccountName>
</Step>
<AccountOperation value> can be:
  • Activate
  • Deactivate
Account Re-Login <ScriptStep id="138" name="Re-Login" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <AccountName>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </AccountName>

  <Password>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </Password>
</Step>
<NoInteract state> can be:
  • True
  • False
Account Reset Account Password <ScriptStep id="136" name="Reset Account Password" enable="True">
  <StepText>Script step text</StepText>
  <ChgPwdOnNextLogin value="True">

  <AccountName>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </AccountName>

  <Password>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </Password>
</Step>
Spelling Check Found Set <Step id="20" name="Check Found Set" enable="True">
  <StepText>Script step text</StepText>
</Step>
Spelling Check Record <Step id="19" name="Check Record" enable="True">
  <StepText>Script step text</StepText>
</Step>
Spelling Check Selection <Step id="18" name="Check Selection" enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Field name="f2" id="2" table="test"/>
  <Repetition>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Value"]]>
     </Calculation>
   </Repetition>
</Step>
<SelectAll state> can be:
  • True
  • False
Spelling Correct Word <Step id="106" name="Correct Word" enable="True">
  <StepText>Script step text</StepText>
</Step>
Spelling Edit User Dictionary <Step id="109" name="Edit User Dictionary" enable="True">
  <StepText>Script step text</StepText>
</Step>
Spelling Select Dictionaries <Step id="108" name="Select Dictionaries" enable="True">
  <StepText>Script step text</StepText>
</Step>
Spelling Spelling Options <Step id="107" name="Spelling Options" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Edit Saved Finds <Step id="149" name="Open Edit Saved Finds" enable="True">
<StepText>Open Edit Saved Finds</StepText>
</Step>
Open Menu Item Open Favorites <Step id="183" name="Open Favorites" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open File Options <Step id="114" name="Open File Options" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Find/Replace <Step id="129" name="Open Find/Replace" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Help <Step id="32" name="Open Help" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Hosts <Step id="118" name="Open Hosts" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Manage Containers <Step enable="True" id="156" name="Open Manage Containers">
<StepText>Open Manage Containers</StepText>
</Step>
Open Menu Item Open Manage Data Sources <Step id="140" name="Open Manage Data Sources" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Manage Database <Step id="38" name="Open Manage Database" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Manage Layouts <Step id="151" name="Open Manage Layouts " enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Manage Themes <Step id="165" name="Open Manage Themes" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Manage Value Lists <Step id="112" name="Open Manage Value Lists" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Preferences <Step id="105" name="Open Preferences" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Script Workspace <Step id="88" name="Open Script Workspace" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Sharing <Step id="113" name="Open Sharing" enable="True">
  <StepText>Script step text</StepText>
</Step>
Open Menu Item Open Upload to Host <Step id="172" name="Open Upload to Host" enable="True">
  <StepText>Script step text</StepText>
</Step>
Miscellaneous # (comment) <Step id="89" name="Comment" enable="True">
  <StepText>Script step text</StepText>
  <Text>This is a comment</Text>
</Step>
Miscellaneous Allow Formatting Bar <Step id="115" name="Allow Formatting Bar" enable="True">
  <StepText>Script step text</StepText>
  <Set state="True"/>
</Step>
<Set state> can be:
  • True
  • False
Miscellaneous AVPlayer Play <Step id="177" name="AVPlayer Play" enable="True">
  <StepText>{Script step text}</StepText>
  <Source value="Object">
    <Calculation><![CDATA["ObjectName"]]></Calculation>
    <DisplayCalculation>
      <Chunk type="NoRef">"ObjectName"</Chunk>
    </DisplayCalculation>
  </Source>
  <Repetition>
    <Calculation><![CDATA[3]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">3</Chunk>
    </DisplayCalculation>
  </Repetition>
  <Source value="Field">
  <Field table={Table} name={FieldName} repetition="1" id="2" />
  </Source>
  <Source value="URL">
    <Calculation><![CDATA["MyURL"]]></Calculation>
    <DisplayCalculation>
      <Chunk type="NoRef">"MyURL"</Chunk>
    </DisplayCalculation>
  </Source>
  <Presentation value="Start Full Screen"/>
  <HideControls value="True"/>
  <DisableInteraction value="True"/>
  <PlaybackPosition>
    <Calculation><![CDATA[30]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">30</Chunk>
    </DisplayCalculation>
  </PlaybackPosition>
  <StartOffset>
    <Calculation><![CDATA[20]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">20</Chunk>
    </DisplayCalculation>
  </StartOffset>
  <EndOffset>
    <Calculation><![CDATA[120]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">120</Chunk>
    </DisplayCalculation>
  </EndOffset>
</Step>

Only one Source element. 'Source value="object"' element is followed by repetition element. If ObjectName is not specified, then the step will attempt to work with the current active object. Returns kDataSourceMissing if it cannot work with the active object.

<Presentation value> can be:
  • Start Full Screen
  • Full Screen Only
  • Start Embedded
  • Embedded Only
  • Audio Only
The AVPlayer script step is used to initiate the playing of media from a field (must be a container), a layout object (must be a container), URL, or the active object (must be a container). When creating the script step, a field chooser, object chooser, or URL text entry box will be shown as appropriate. All parameters are optional. Only one of the "Field", "Object", or "URL" parameters may be specified for a given step. Playback of the active object is initiated if layout object is specified and no layout object name is provided.
Miscellaneous AVPlayer Set Options <Step id="179" name="AVPlayer Set Options" enable="True">
  <StepText>{Script step text}</StepText>
  <Presentation> value="Start Full Screen"</Presentation>
  <HideControls value="True"/>
  <DisableExternalControls value="True"/>
  <DisableInteraction value="True"/>
  <PauseInBackground value="True"/>
  <PlaybackPosition>
    <Calculation><![CDATA[30]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">30</Chunk>
    </DisplayCalculation>
  </PlaybackPosition>
  <StartOffset>
    <Calculation><![CDATA[20]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">20</Chunk>
    </DisplayCalculation>
  </StartOffset>
  <EndOffset>
    <Calculation><![CDATA[120]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">120</Chunk>
    </DisplayCalculation>
  </EndOffset>
  <Volume>
    <Calculation><![CDATA[.5]]></Calculation>
    <DisplayCalculation>
       <Chunk type="NoRef">.5</Chunk>
    </DisplayCalculation>
  </Volume>

  <Zoom value="Fit"/>
  <Sequence value="Previous"/>
</Step>
<Presentation value> can be:
  • Start Full Screen
  • Full Screen Only
  • Start Embedded
  • Embedded Only
  • Audio Only
<Zoom value> can be:
  • Fit
  • Fill
  • Stretch
  • Fit Only
  • Fill Only
  • Stretch Only
<Sequence value> can be:
  • None
  • Next
  • Previous
All parameters are optional. This step is used to adjust the settings of a player that is either playing or paused. The parameters that are the same as in AVPlayer Play have the same meaning as in that step.
Miscellaneous AVPlayer Set Playback State <Step id="178" name="AVPlayer Set Playback State">
  <StepText>{Script step text}</StepText>
  <PlaybackState value="Paused"> </StepText>
</Step>
<PlaybackState value> can be:
  • Paused
  • Playing
  • Stopped
Causes the AVPlayer to pause, resume playing, or stop. Once a player is stopped, it cannot be set to Playing (because "stopped" gives FileMaker permission to get rid of the AVPlayer). Conversely, this step will not work unless the AVPlayer was already either playing or paused.
Miscellaneous Beep <Step id="93" name="Beep" enable="True">
  <StepText>Script step text</StepText>
</Step>
Miscellaneous Dial Phone <Step id="65" name="Dial Phone" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <UseDialPreferences value="True"/>
  <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
  <Calculation>
    <![CDATA[613-667-5030]]>
  </Calculation>
</Step>
<NoInteract state> can be:
  • True
  • False
<UseDialPreferences value> can be:
  • True
  • False
Miscellaneous Enable Touch Keyboard <Step enable="True" id="174" name="Enable Touch Keyboard">
    <StepText>Enable Touch Keyboard [ Hide ]</StepText>
    <ShowHide value="Hide"/>
</Step>
<ShowHide value> can be:
  • Show
  • Hide
  • Toggle
Miscellaneous Execute FileMaker Data API <Step id="203" name="Execute FileMaker Data API " enable="True">
  <StepText>Script step text</StepText>
  <SelectAll state="True"/>
  <Calculation>
    <![CDATA["{Request}"]]>
  </Calculation>
  <DisplayCalculation>
    <Chunk type="NoRef">
      &quot;{Request}&quot;
     </Chunk>
  </DisplayCalculation>

  {For a field as the target:
  <Field table="f3" id="2" name="test"/>
  }
  {For a variable as the target
  <Field>$VariableName</Field>
  }

</Step>
Miscellaneous Execute SQL <Step id="117" name="Execute SQL" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  {See ODBC data source profile element in Import Records step}
</Step>
<NoInteract state> can be:
  • True
  • False
{See ODBC data source profile element in Import Records step}
{See ODBC data source profile element in Import Records step}
Miscellaneous Exit Application <Step id="44" name="Exit Application" enable="True">
  <StepText>Script step text</StepText>
</Step>
Miscellaneous Flush Cache to Disk <Step id="102" name="Flush Cache to Disk" enable="True">
  <StepText>Script step text</StepText>
</Step>
Miscellaneous Get Folder Path <Step id="173" name="Get Folder Path" enable="True">
     <AllowFolderCreation state="True"/>

<Name>{Variable name}</Name>

<DialogTitle>
  <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
   <DisplayCalculation>
      <Chunk type="NoRef"></Chunk>
   </DisplayCalculation>
</DialogTitle>

<DefaultLocation>
   <Calculation>
      <![CDATA[CalcString]]>
   </Calculation>
   <DisplayCalculation>
      <Chunk type="NoRef"></Chunk>
   </DisplayCalculation>
</DefaultLocation>

 </Step>
<AllowFolderCreation state> can be:
  • True
  • False
Miscellaneous Install Menu Set <Step id="142" name="Install Menu Set" enable="True">
   <StepText>Script step text</StepText>
   <UseAsFileDefault state="True"/>
   <CustomMenuSet id="3" name={Menu set name}/>
</Step>
<UseAsFileDefault state> can be:
  • True
  • False
Miscellaneous Install Plug-in File <Step id="157" name="Install Plug-in File" enable="True">
   <StepText>Script step text</StepText>
   <Field name="f1" id="2" table="test"/>
</Step>
Miscellaneous Open URL <Step id="111" name="Open URL" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
  <Calculation>
    <![CDATA["https://www.filemaker.com"]]>
  </Calculation>
</Step>
<NoInteract state> can be:
  • True
  • False
Miscellaneous Perform AppleScript (macOS) <Step id="67" name="Perform AppleScript" enable="True">
  <StepText>Script step text</StepText>
  <ContentType value="Calculation">
  <CompiledScript>
    <![CDATA[{compiled apple script data}]]>
  </CompiledScript>
  <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
  <Calculation>
    <![CDATA["this is a calculated string"]]>
  </Calculation>
  <Text>This is a string literal</Text>
</Step>
<ContentType value> can be:
  • Calculation
  • Text
<Calculation> is present when <ContentType value> is "Calculation" and <Text> is present when it is "Text".
Miscellaneous Perform JavaScript in Web Viewer <Step id="175" name="Perform JavaScript in Web Viewer" enable="True">
  <StepText>Script step text</StepText>
  <ObjectName>
    <Calculation>
      <![CDATA["ObjectName"]]>
    </Calculation>
    <DisplayCalculation>
      <Chunk type="NoRef">
        &quot;ObjectName&quot;
       </Chunk>
    </DisplayCalculation>
  </ObjectName>
  <FunctionName>
    <Calculation>
      <![CDATA["functionName"]]>
    </Calculation>
    <DisplayCalculation>
      <Chunk type="NoRef">
        &quot;functionName&quot;
       </Chunk>
    </DisplayCalculation>
  </FunctionName>
  <Parameters Count="1">
    <P>
      <Calculation>
        <![CDATA["param1"]]>
      </Calculation>
      <DisplayCalculation>
        <Chunk type="NoRef">
          &quot;param1&quot;
        </Chunk>
      </DisplayCalculation>
    </P>
  </Parameters>
</Step>
Miscellaneous Refresh Object <Step id="167" name="Refresh Object" enable="True">
   <StepText>Script step text</StepText>
   <ObjectName>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </ObjectName>
   <Repetition>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </Repetition>
</Step>
Miscellaneous Refresh Portal <Step id="180" name="Refresh Portal" enable="True">
   <StepText>Script step text</StepText>
   <ObjectName>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </ObjectName>
</Step>
Miscellaneous Save a Copy as Add-on Package <Step id="96" name="Save a Copy as Add-on Package" enable="True">
   <StepText>Script step text</StepText>
   <LinkAvail state="True"/>
    <Calculation>
      <![CDATA["WindowName"]]>
    </Calculation>
    <DisplayCalculation>
      <Chunk type="NoRef">
        &quot;WindowName&quot;
      </Chunk>
    </DisplayCalculation>
</Step>
<LinkAvail state> can be:
  • True
  • False
Miscellaneous Send DDE Execute (Windows) <Step id="64" name="Send DDE Execute" enable="True">
  <StepText>Script step text</StepText>
  <ContentType value="Calculation">
  <UniversalPathList>{PathList}</UniversalPathList>

  <ServiceName>
    <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA["Word"]]>
    </Calculation>
  </ServiceName>

  <Topic>
    <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA["TopicText"]]>
    </Calculation>
  </Topic>

  <Command>
     <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA["Delete All"]]>
    </Calculation>
  </Command>
</Step>
<ContentType value> can be:
  • File
  • Calculation

<UniversalPathList> is present when <ContentType value> is "File" and <Topic> is present when it is "Calculation".

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

Miscellaneous Send Event (macOS) See SendEvent (Win). See SendEvent (Win).
Miscellaneous Send Event (Windows) <Step id="57" name="Send event" enable="True">
  <StepText>Script step text</StepText>
  <ContentType value="Calculation">
  <UniversalPathList>{PathList}</UniversalPathList>
  <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
  </DisplayCalculation>
  <Calculation>{CalcString}</Calculation>
  <Text>{TextString}</Text>
  <Event class={class} id={id}
     TargetName={TargetName} TargetType={TargetType}
     BringTargetToForeground="True" WaitForCompletion="True"
     CopyResultToClipBoard="False"/>
</Step>
<ContentType value> can be:
  • File
  • Calculation
  • Text

<Event class>, <Event id>, and
<Event TargetType> are four character Apple event related strings.

<Event BringTargetToForeground> can be:
  • True
  • False
<Event WaitForCompletion> can be:
  • True
  • False
<Event CopyResultToClipBoard> can be:
  • True
  • False

<UniversalPathList> is present when <ContentType value> is "File", <Calculation> is present when it is "Calculation", and <Text> is present when it is "Text".

{PathList} can consist of multiple absolute or relative paths, the first valid one of which is used at execution time.

Miscellaneous Send Mail

<Step id="63" name ="Send Mail" enable="True">
  <StepText>Script step text</StepText>
  <NoInteract state="True"/>
  <Attachment>
     <UniversalPathList>{PathList}</UniversalPathList>
  </Attachment>

  <To UseFoundSet="True">
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[CalcString]]>
    </Calculation>
  </To>

  <Cc UseFoundSet="True">
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[CalcString]]>
     </Calculation>
  </Cc>

  <Bcc UseFoundSet="True">
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[<Step id="63" name="Send Mail">
     </Calculation>
  </Bcc>

  <Subject>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Subject"]]>
    </Calculation>
  </Subject>

  <Message>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA["Message"]]>
     </Calculation>
  </Message>

  <SMTPNameDescription>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[CalcString]]>
     </Calculation>
  </SMTPNameDescription>

  <SMTPEmailAddress >
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[CalcString]]>
     </Calculation>
  </SMTPEmailAddress>

  <SMTPReplyAddress >
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
       <![CDATA[CalcString]]>
    </Calculation>
 </SMTPReplyAddress>

  <SMTPServer>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
       <![CDATA[CalcString]]>
     </Calculation>
  </SMTPServer>

  <SMTPPort >
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[CalcString]]>
     </Calculation>
  </SMTPPort>

  <SMTPUserName>
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
     </Calculation>
  </SMTPUserName>

  <SMTPPassword >
     <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
     </DisplayCalculation>
     <Calculation>
       <![CDATA[CalcString]]>
    </Calculation>
  </SMTPPassword>

  <MultipleEmails state="True"/>
  <SendViaSMTP state ="True"/>
  <SMTPEncryptionType type="encryptionVal">
  <SMTPAuthenticationType type = "SMTPAuthenticationPlain"/>
</Step>

<NoInteract state> can be:
  • True
  • False
<MultipleEmails state> can be:
  • True
  • False
<SMTPAuthenticationType> can be: SMTPAuthenticationNone
SMTPAuthenticationPlain
SMTPAuthenticationCramMD5

<To/Cc/Bcc UseFoundSet> can be:
  • True
  • False

encryptionVal could be one of SMTPEncryptionNone, SMTPEncryptionSSL, SMTPEncryptionTLS

{PathList} can consist of multiple absolute or relative paths.

Miscellaneous Set Web Viewer <Step id="146" name="Set Web Viewer" enable="True">
   <StepText>Script step text</StepText>
   <Action value="Reset"/>
   <ObjectName>
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </ObjectName>
   <URL custom="True">
      <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
      </DisplayCalculation>
      <Calculation>
        <![CDATA[CalcString]]>
      </Calculation>
   </URL>
</Step>
<Action value> can be:
  • Reset
  • Reload
  • GoForward
  • GoBack
  • GoToURL
<URL custom> can be:
  • True
  • False
<URL> element is present when
<Action value> is "GoToURL."
Miscellaneous Show Custom Dialog <Step id="87" name="Show Custom Dialog" enable="True">
  <StepText>Script step text</StepText>
  <Title>
    <DisplayCalculation>
      <Chunk type="FunctionRef">Abs</Chunk>
      <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </Title>

  <Message>
    <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
    </DisplayCalculation>
    <Calculation>
      <![CDATA[{CalcString}]]>
    </Calculation>
  </Message>

  <Buttons>
    <Button CommitState="True">
       <Calculation>
         <![CDATA["OK"]]>
       </Calculation>
       <DisplayCalculation>
          <Chunk type="NoRef">"OK"</Chunk>
       </DisplayCalculation>
    </Button>
    <Button CommitState="False">
       <Calculation>
         <![CDATA["Cancel"]]>
       </Calculation>
       <DisplayCalculation>
          <Chunk type="NoRef">"Cancel"</Chunk>
       </DisplayCalculation>
    </Button>
    <Button CommitState="False">
       <Calculation>
         <![CDATA[Get( CurrentTime )]]>
       </Calculation>
       <DisplayCalculation>
          <Chunk type="FunctionRef">Get</Chunk>
          <Chunk type="NoRef">(</Chunk>
          <Chunk type="FunctionRef">CurrentTime</Chunk>
          <Chunk type="NoRef">)</Chunk>
       </DisplayCalculation>
    </Button>
  </Buttons>

  <InputFields>
    <InputField UsePasswordCharacter="True">
      {For a field as the target:
      <Field name={FieldName} id="2" repetition="2" table={Table}/>
      }
      {For a variable as the target:
      <Field>$VariableName</Field>
      }

      <Label>
        <DisplayCalculation>
        <Chunk type="FunctionRef">Abs</Chunk>
        <Chunk type="NoRef">(13)</Chunk>
        </DisplayCalculation>
        <Calculation>
        <![CDATA[{CalcString}]]>
        </Calculation>
      </Label>
    <InputField>
    ...
    </InputField>
    ...
  </InputFields>
</Step>
<Button CommitState> can be:
  • True
  • False

<InputField UsePasswordCharacter>
can be:

  • True
  • False
<Field repetition> is only output if > 1
Miscellaneous Speak (macOS) <Step id="66" name="Speak" enable="True">
   <StepText>Script step text</StepText>
   <SpeechOptions VoiceCreator={voice creator} VoiceId={voice id}
      VoiceName={voice name} WaitForCompletion="True"/>
   <DisplayCalculation>
       <Chunk type="FunctionRef">Abs</Chunk>
       <Chunk type="NoRef">(13)</Chunk>
   </DisplayCalculation>
   <Calculation>
     <![CDATA[CalcString]]>
   </Calculation>
</Step>
<Speech WaitForCompletion>
can be:
  • True
  • False

<SpeechOptions VoiceCreator> is a four character string.

<SpeechOptions VoiceName>
is only generated on the Mac and contains redundant information that only serves to make DDR reports (in particular HTML ones) more readable.
{Plug-in Name} {Step Name} <Step index="{Step ID}" source="{Plug-in ID}" enable="True" id="186" name="{Step Name}">
  <PluginStep>
    {Step parameter definition}
  </PluginStep>
  <StepText>{Step Name} [ Select: On; Destination: ; Number:; Base: Octal ]</StepText>
  <SelectAll state="True"/>
  <Field/>
  <ParameterValues>
    <Object index="{Parm ID}" type="Calc">
      <Calculation><![CDATA[]]></Calculation>
      <DisplayCalculation>
        <Chunk type="NoRef"></Chunk>
      </DisplayCalculation>
    </Object>
    <Object index="{Parm ID}" type="List">8</Object>
    <Object index="{Parm ID}" type="Bool">True</Object>
  </ParameterValues>
</Step>
For external script steps provided by plug-ins:
  • {Plug-in Name}: Name of the plug-in
  • {PlugIn ID}: Four character code of the plug-in
  • {Step Name}: Name of the external script step
  • {Step ID}: Integer ID of the external script step
  • {Step parameter definition}: Step's XML parameter definition from the plug-in
  • <Field/>: The Field element with no names means to insert into current field.
  • {Parm ID}: Parameter ID (matching ID in {Step parameter definition})
  • Three types of parameters: "Calc," "List," and "Bool." There will be an Object element for each parameter in {Step parameter definition}.

Theme Catalog Section

All nodes below start with <FMPReport><File>.

Tag Name Value Description
<ThemeCatalog>
<ThemeCatalog><Theme A theme embedded in a FileMaker file
id="1"
internalName="com.filemaker.theme.some_theme"
version="1"
locale="en" Any of the standardized country codes, such as "en," "fr," "ja," and so on.
name="Some theme" The display name for the theme.
Group="Some Family"> The localized theme family name.
<ThemeCatalog><Theme><CustomStyles>
<ThemeCatalog><Theme><CustomStyles><Style Contains the CSS representation of this custom style.
name="CustomStyle1">
<ThemeCatalog><Theme><DefaultStyles> Contains the CSS representations of all of the default object styles.