EMML Reference
This topic lists EMML declarations and commands with links to basic syntax topics.
<annotate>: Adding Data Annotations
Adds attributes or children elements to a selected node of a variable and assigns values using an XPath expression. This is typically used to add metadata to the mashup result or any intermediate variable.
<appendresult>: Constructing Repeating Structures
Appends a structure of nodes to the result of this mashup or to any intermediate variable. This is typically used in repeating loops to handle results with repeated sections.
<assign>: Copying All or a Fragment of a Variable
Copies, and optionally transforms, one variable or variable fragment to another variable. This uses XPath 2.0 expressions to identify the source nodes to copy and optionally applies XPath functions to transform the result.
<beginTransaction>
To begin a transaction specifically for invocations of Database services. See
Service Transaction Commands: <beginTransaction>, <commitTransaction> and <rollbackTransaction>
.
<break>: Stopping Loops Explicitly
To explicitly break out of looping or conditional statements.
<commitTransaction>
To commit a transaction specifically for invocations of Database services. See
Service Transaction Commands: <beginTransaction>, <commitTransaction> and <rollbackTransaction>
.
<constructor>: Constructing a Single Structure
Creates a structure for the result of this mashup or for any intermediate variable. You define the nodes of the result and use mashup expressions to define the data from a variable to fill these nodes.
<datasource>
Defines connection information to one database for use with direct SQL commands. See
Declaring Data Sources
.
<directinvoke>: for Services and Web Resources Outside of Presto
Invokes an ungoverned service at a URL.Only ungoverned RSS or REST services are currently supported.
<display>: Debugging Messages for Mashup Services
Sends a static message to the log and console, optionally including a dynamic value defined in an XPath 2.0 expression.
<filter>: Filtering Variables
Filters a set of nodes in a variable based on a filter expression in XPath 2.0.
<for>: Repeating Loops Based on Simple Counts
Processes a loop of any mashup commands based on a count.
<foreach>: Repeating Loops for a Set of Nodes
Processes a loop of any mashup commands based on a set of nodes from a variable. The set is an XPath 2.0 ’sequence’ defined by an expression.
<group>: Grouping Within Variables
Sorts, and optional filters, a set of nodes in a variable and constructs a result document based on those groups. This command supports multiple levels of grouping and calculations or other transformations on groups.
<if>: Conditional Processing
Handles if-elseif-else processing for a mashup script based on a condition defined in XPath 2.0. You can include any mashup command elements in any section of <if>.
<include>: Including Macro Libraries in Mashup Scripts or Macro Libraries
To use common macros from a macro library file in a specific mashup script.
<input>
Defines a parameter to use as the input to an service operation within this mashup. See
Declaring Mashup Variables and Parameters
.
<invoke>: Published Presto Services
Invokes the operation for a published Presto service.
<join>: Joining Component Service Results
Joins the results of two or more services based on a join condition. This element works much like a database join, where the results may be disparate but must have key nodes that determine how data is joined. You can also define the structure and nodes to include in the result of the join.
<macro>: Declaring Macros
Allows you to define custom mashup commands for use a mashup. Macros typically use mashup commands that accept dynamic configuration to handle specific functionality for many mashups.
<macros>: Creating a Macro Library
Root node for macro libraries for use in any mashup hosted by a Mashup Server.
<macro:name>: Calling a Macro in a Mashup Script
To use a custom mashup command.
<merge>: Merging Homogenous Component Service Results
Merges the results of two or more services that have homogenous result models. The element works much like a database union. The results of all services must have identical structures.
<output>
Defines the name and type for the result of this mashup. See
Declaring Mashup Variables and Parameters
.
<parallel>
Processes any mashup commands that are its immediate children as separate parallel flows. Typically this contains one or more <sequence> or <parallel> children that contains sets of other mashup commands. You can, however, include any mashup command as a direct child of <parallel>. See
<parallel> and <sequence>: Flows
<presto-meta>
Allows you to set built-in processing flags for the mashup service using Presto metadata for the mashup service. See
<presto-meta> and <user-meta>: Adding Metadata
.
<rollbackTransaction>
To roll back a transaction specifically for invocations of Database services. See
Service Transaction Commands: <beginTransaction>, <commitTransaction> and <rollbackTransaction>
.
<script>: Adding User-Defined Scripting Code
Defines a script to executed at runtime at the specified location in mashup processing. You can include scripting code directly or point to an external file on the local server.
<select>: Selecting Nodes Within Repeating Items
Creates a structure for the mashup result or for an intermediate variable with only selected nodes from a repeating set of items.
<sequence>
Mashup command processing is sequential by default. This element allows you to contain a set of commands to be processed sequentially, usually as one group within a parallel flow. See
<parallel> and <sequence>: Flows
.
<sort>: Sorting Variables
Sorts a set of nodes in a variable based on sort keys and a sorting expression in XPath 2.0.
<sql>: Invoking SQL Queries
To execute SQL queries directly against a datasource.
<sqlBeginTransaction>
To begin a transaction for SQL commands to a single datasource. See
SQL Transaction Commands: <sqlBeginTransaction>, <sqlCommit> and <sqlRollback>
.
<sqlCommit>
To commit a transaction for SQL commands to a single datasource. See
SQL Transaction Commands: <sqlBeginTransaction>, <sqlCommit> and <sqlRollback>
.
<sqlRollback>
To roll back a transaction for SQL commands to a single datasource. See
SQL Transaction Commands: <sqlBeginTransaction>, <sqlCommit> and <sqlRollback>
.
<sqlUpdate>: Invoking SQL DML or DDL Statements
To execute any other SQL statement against a datasource.
<template>
To define XPath expressions dynamically that that can be passed into generic mashup scripts. See
Creating Generic Mashup Scripts
.
<user-meta>
Allows you to define your own metadata for the mashup service. See
<presto-meta> and <user-meta>: Adding Metadata
.
<variable>
Defines a variable to hold the input or output for any mashup script command . See
Declaring Mashup Variables and Parameters
.
<while>: Conditional Repeating Loops
Processes a loop of any mashup commands as long as the specified condition is true. The condition is defined in an XPath 2.0 expression.
xmlns on <mashup>
Declares a namespace used in a service called in the mashup, a namespace for macros, or a namespace used to construct the mashup result or any intermediate variable. See
Declaring Namespaces
.