stax.dtd revision f5aaa49dba43db0e99f06476534a8749820515db
2N/A ! The contents of this file are subject to the terms of the 2N/A ! Common Development and Distribution License, Version 1.0 only 2N/A ! (the "License"). You may not use this file except in compliance 2N/A ! You can obtain a copy of the license at 2N/A ! See the License for the specific language governing permissions 2N/A ! and limitations under the License. 2N/A ! When distributing Covered Code, include this CDDL HEADER in each 2N/A ! file and include the License file at 2N/A ! add the following below this CDDL HEADER, with the fields enclosed 2N/A ! by brackets "[]" replaced with your own identifying information: 2N/A ! Portions Copyright [yyyy] [name of copyright owner] 2N/A ! Copyright 2007-2009 Sun Microsystems, Inc. 2N/A STAf eXecution (STAX) Document Type Definition (DTD) 2N/A Generated Date: 20090818-11:49:53 2N/A This DTD module is identified by the SYSTEM identifier: 2N/A<!-- Parameter entities referenced in Element declarations --> 2N/A<!
ENTITY %
stax-
elems 'function | script | signalhandler'>
2N/A<!
ENTITY %
task 'timer | parallel | log | 2N/A call | stafcmd | script | 2N/A tcstatus | message | iterate | 2N/A sequence | import | raise | 2N/A job | process | nop | 2N/A try | break | testcase | 2N/A paralleliterate | continue | throw | 2N/A release | signalhandler | rethrow | 2N/A block | hold | terminate | 2N/A return | if | call-with-list | 2N/A loop | call-with-map'>
2N/A<!--================= STAX Job Definition ========================== --> 2N/A The root element STAX contains all other elements. It consists 2N/A of an optional defaultcall element and any number of function, 2N/A<!
ELEMENT stax ((%
stax-
elems;)*,
defaultcall?, (%
stax-
elems;)*)>
2N/A<!--================= The Default Call Function Element ============ --> 2N/A The defaultcall element defines the function to call by default 2N/A to start the job. This can be overridden by the 'FUNCTION' 2N/A parameter when submitting the job to be executed. 2N/A The function attribute's value is a literal. 2N/A<!
ELEMENT defaultcall (#
PCDATA)>
2N/A<!
ATTLIST defaultcall 2N/A function IDREF #
REQUIRED 2N/A<!--================= The Timer Element ============================ --> 2N/A The timer element runs a task for a specified duration. 2N/A If the task is still running at the end of the specified duration, 2N/A then the RC variable is set to 1, else if the task ended before 2N/A the specified duration, the RC variable is set to 0, else if the 2N/A timer could not start due to an invalid duration, the RC variable 2N/A<!
ELEMENT timer (%
task;)>
2N/A<!-- duration is the maximum length of time to run the task. 2N/A Time can be expressed in milliseconds, seconds, minutes, 2N/A hours, days, weeks, or years. It is evaluated via Python. 2N/A Examples: duration='50' (50 milliseconds) 2N/A duration='90s' (90 seconds) 2N/A duration='5m' ( 5 minutes) 2N/A duration='36h' (36 hours) 2N/A duration='3d' ( 3 days) 2N/A duration='1w' ( 1 week) 2N/A duration='1y' ( 1 year) 2N/A duration CDATA #
REQUIRED 2N/A<!--================= The Parallel Element ========================= --> 2N/A The parallel element performs one or more tasks in parallel. 2N/A<!
ELEMENT parallel (%
task;)+>
2N/A<!--================= The Log Element ============================== --> 2N/A Writes a message and its log level to a STAX Job User Log file. 2N/A The message must evaluate via Python to a string. 2N/A The log level specified defaults to 'info'. If specified, it 2N/A must evaluate via Python to a string containing one of the 2N/A following STAF Log Service Log levels: 2N/A fatal, warning, info, trace, trace2, trace3, debug, debug2, 2N/A debug3, start, stop, pass, fail, status, user1, user2, user3, 2N/A user4, user5, user6, user7, user8 2N/A The message attribute is evaluated via Python. If it evaluates 2N/A to true, the message text will also be sent to the STAX Job Monitor. 2N/A The message attribute defaults to the STAXMessageLog variable whose 2N/A value defaults to 0 (false) but can by changed within the STAX job 2N/A to turn on messaging. 2N/A If an if attribute is specified and it evaluates via Python to 2N/A false, then the log element is ignored. 2N/A<!
ELEMENT log (#
PCDATA)>
2N/A level CDATA "'info'" 2N/A message CDATA "STAXMessageLog" 2N/A<!--================= The Call Element ============================= --> 2N/A Perform a function with the referenced name. 2N/A The function attribute value is evaluated via Python. 2N/A Arguments can be specified as data to the call element. 2N/A Arguments are evaluated via Python. 2N/A<!
ELEMENT call (#
PCDATA)>
2N/A function CDATA #
REQUIRED 2N/A<!--================= The STAF Command Element ===================== --> 2N/A Specifies a STAF command to be executed. 2N/A Its name and all of its element values are evaluated via Python. 2N/A<!
ELEMENT stafcmd (
location,
service,
request)>
2N/A<!
ELEMENT service (#
PCDATA)>
2N/A<!
ELEMENT request (#
PCDATA)>
2N/A<!--================= The Script Element =========================== --> 2N/A Specifies Python code to be executed. 2N/A<!
ELEMENT script (#
PCDATA)>
2N/A<!--================= The Testcase Status Element ================== --> 2N/A Marks status result ('pass' or 'fail' or 'info') for a testcase 2N/A and allows additional information to be specified. The status 2N/A result and the additional info is evaluated via Python. 2N/A<!
ELEMENT tcstatus (#
PCDATA)>
2N/A result CDATA #
REQUIRED 2N/A<!--================= The Message Element ========================== --> 2N/A Generates an event and makes the message value available to the 2N/A STAX Job Monitor. The message must evaluate via Python to a string. 2N/A The log attribute is evaluated via Python to a boolean. If it 2N/A evaluates to true, the message text will also be logged in the STAX 2N/A Job User log. The log attribute defaults to the STAXLogMessage 2N/A variable whose value defaults to 0 (false) but can by changed within the STAX job to turn on logging. The log level is ignored if the log attribute does not evaluate to true. It defaults to 'info'. If specified, it must evaluate via Python to a string containing one of the following STAF Log Service fatal, warning, info, trace, trace2, trace3, debug, debug2, debug3, start, stop, pass, fail, status, user1, user2, user3, user4, user5, user6, user7, user8 If an if attribute is specified and it evaluates via Python to false, the message element is ignored. <!
ELEMENT message (#
PCDATA)>
log CDATA "STAXLogMessage" <!--================= The Iterate Element ========================= --> The iterate element iterates through a list of items, performing its contained task while substituting each item in the list. The iterated tasks are performed in sequence. <!
ELEMENT iterate (%
task;)>
<!-- var is the name of the variable which will contain the current item in the list or tuple being iterated. in is the list or tuple to be iterated. It is evaluated via Python and must evaluate to be a list or tuple. indexvar is the name of a variable which will contain the index of the current item in the list or tuple being iterated. It is a literal. The value for the first index is 0. <!--================= The Function Element ========================= --> The function element defines a named task which can be called. The name and scope attribute values are literals. If desired, the function can be described using a function-prolog element (or the deprecated function-description element) and/or a function-epilog element. Also, if desired, the function element can define the arguments that can be passed to the function. <!
ELEMENT function ((
function-
prolog |
function-
description)?,
(
function-
no-
args |
function-
single-
arg |
function-
list-
args |
function-
map-
args)?,
scope (
local |
global)
"global" <!
ELEMENT function-
prolog (#
PCDATA)>
<!
ELEMENT function-
epilog (#
PCDATA)>
<!
ELEMENT function-
description (#
PCDATA)>
<!
ELEMENT function-
no-
args EMPTY>
<!
ELEMENT function-
single-
arg (
function-
required-
arg |
<!
ELEMENT function-
list-
args ((((
function-
required-
arg+,
function-
optional-
arg*) |
function-
optional-
arg+)),
(
function-
other-
args)?) |
<!
ELEMENT function-
map-
args (((
function-
required-
arg |
(
function-
other-
args+)?) |
<!
ELEMENT function-
required-
arg (#
PCDATA)>
<!
ATTLIST function-
required-
arg<!
ELEMENT function-
optional-
arg (#
PCDATA)>
<!
ATTLIST function-
optional-
arg<!
ELEMENT function-
other-
args (#
PCDATA)>
<!
ATTLIST function-
other-
args<!
ELEMENT function-
arg-
def (
function-
arg-
description?,
<!
ATTLIST function-
arg-
def type (
required |
optional |
other)
"required" <!
ELEMENT function-
arg-
description (#
PCDATA)>
<!
ELEMENT function-
arg-
private EMPTY>
<!
ELEMENT function-
arg-
property (
function-
arg-
property-
description?,
function-
arg-
property-
data*)>
<!
ATTLIST function-
arg-
property<!
ELEMENT function-
arg-
property-
description (#
PCDATA)>
<!
ELEMENT function-
arg-
property-
data (
function-
arg-
property-
data)*>
<!
ATTLIST function-
arg-
property-
data<!--================= The Sequence Element ========================= --> The sequence element performs one or more tasks in sequence. <!
ELEMENT sequence (%
task;)+>
<!--================= The Import Element ========================== --> Allows importing of functions from another STAX XML job file. <!
ELEMENT import (
import-
include?,
import-
exclude?)?>
<!
ELEMENT import-
include (#
PCDATA)>
<!
ELEMENT import-
exclude (#
PCDATA)>
<!--================= The Raise Element ============================ --> A raise signal element raises a specified signal. Signals can also be raised by the STAX execution engine. The signal attribute value is evaluated via Python. <!--================== The STAX Job Element ===================== --> Specifies a STAX sub-job to be executed. This element is equivalent to a STAX EXECUTE request. The name attribute specifies the name of the job. The job name defaults to the value of the function name called to start the job. Its name and all of its element values are evaluated via Python. The job element must contain a location element and either a file or data element. This attribute is equivalent to the JOBNAME option for a STAX EXECUTE command. The clearlogs attribute specifies to delete the STAX Job and Job User logs before the job is executed to ensure that only one job's contents are in the log. This attribute is equivalent to the CLEARLOGS option for a STAX EXECUTE command. The default is the same option that was specified for the parent job. Valid values include 'parent', 'default', 'enabled', and 'disabled'. The monitor attribute specifies whether to automatically monitor the subjob. Note that 'Automatically monitor recommended sub-jobs' must be selected in the STAX Job Monitor properties in order for it to be used. The default value for the monitor attribute is 0, a false The logtcelapsedtime attribute specifies to log the elapsed time for a testcase in the summary record in the STAX Job log and on a LIST TESTCASES request. This attribute is equivalent to the LOGTCELAPSEDTIME option for a STAX EXECUTE command. The default is the same option that was specified for the parent job. Valid values include 'parent', 'default', 'enabled', and 'disabled'. The logtcnumstarts attribute specifies to log the number of starts for a testcase in the summary record in the STAX Job log and on a LIST TESTCASES request. This attribute is equivalent to the LOGNUMSTARTS option for a STAX EXECUTE command. The default is the same option that was specified for the parent job. Valid values include 'parent', 'default', 'enabled', and 'disabled'. The logtcstartstop attribute specifies to log start/stop records for testcases in the STAX Job log. This attribute is equivalent to the LOGTCSTARTSTOP option for a STAX EXECUTE command. The default is the same option that was specified for the parent job. Valid values include 'parent', 'default', 'enabled', and 'disabled'. The pythonoutput attribute specifies where to write Python stdout/stderr (e.g. from a print statement in a script element). This attribute is equivalent to the PYTHONOUTPUT option for a STAX EXECUTE command. The default is the same option that was specified for the parent job. Valid values include 'parent', 'default', 'jobuserlog', 'message', 'jobuserlogandmsg', and 'jvmlog'. The pythonloglevel attribute specifies the log level to use when writing Python stdout (e.g. from a print statement in a script element) if the python output is written to the STAX Job User Log. This attribute is equivalent to the PYTHONLOGLEVEL option for a STAX EXECUTE command. The default is the same option that was specified for the parent job. Valid values include 'parent', 'default', or a valid STAF log level such as 'Info', 'Trace', 'User1', etc. The job element must contain either a job-file or job-data element. The job element has the following optional elements: job-function, job-function-args, job-scriptfile(s), and job-script Each of these optional elements may specify an if attribute. The if attribute must evaluate via Python to a true or false value. If it does not evaluate to a true value, the element is ignored. The default value for the if attribute is 1, a true value. Note that in Python, true means any nonzero number or nonempty object; false means not true, such as a zero number, an empty object, or None. Comparisons and equality tests return 1 or 0 <!
ELEMENT job ((
job-
file |
job-
data),
job-
function?,
job-
function-
args?,
(
job-
scriptfile |
job-
scriptfiles)?,
job-
script*,
job-
action?)>
clearlogs CDATA "'parent'" logtcelapsedtime CDATA "'parent'" logtcnumstarts CDATA "'parent'" logtcstartstop CDATA "'parent'" pythonoutput CDATA "'parent'" pythonloglevel CDATA "'parent'" The job-file element specifies the fully qualified name of a file containing the XML document for the STAX job to be executed. The job-file element is equivalent to the FILE option for a STAX The machine attribute specifies the name of the machine where the xml file is located. If not specified, it defaults to Python variable STAXJobXMLMachine. The machine attribute is equivalent to the MACHINE option for a STAX EXECUTE command. <!
ELEMENT job-
file (#
PCDATA)>
machine CDATA "STAXJobXMLMachine" The job-data element specifies a string containing the XML document for the job to be executed. This element is equivalent to the DATA option for a STAX EXECUTE command. The eval attribute specifies whether the data is be evaluated by Python in the parent job. For example, if the job-data information is dynamically generated and assigned to a Python variable, rather than just containing the literal XML information, then you would need to set the eval attribute to true (e.g. eval="1"). The default for the eval attribute is false ("0"). <!
ELEMENT job-
data (#
PCDATA)>
The job-function element specifies the name of the function element to call to start the job, overriding the defaultcall element, if any, specified in the XML document. The <function name> must be the name of a function element specified in the XML document. This element is equivalent to the FUNCTION option for a STAX EXECUTE command. <!
ELEMENT job-
function (#
PCDATA)>
The job-function-args element specifies arguments to pass to the function element called to start the job, overriding the arguments, if any, specified for the defaultcall element in the XML document. This element is equivalent to the ARGS option for a STAX EXECUTE The eval attribute specifies whether the data is to be evaluated by Python in the parent job. The default for the eval attribute <!
ELEMENT job-
function-
args (#
PCDATA)>
<!
ATTLIST job-
function-
args The job-script element specifies Python code to be executed. This element is equivalent to the SCRIPT option for a STAX EXECUTE command. Multiple job-script elements may be specified. The eval attribute specifies whether the data is to be evaluated by Python in the parent job. The default for the eval attribute <!
ELEMENT job-
script (#
PCDATA)>
The job-scriptfile element (equivalent to the job-scriptfiles element) specifies the fully qualified name of a file containing Python code to be executed, or a list of file names containing Python code to be executed. The value must evaluate via Python to a string or a list of strings. This element is equivalent to the SCRIPTFILE option for a STAX EXECUTE command. Specifying only one scriptfile could look like either: Specifying a list containing 3 scriptfiles could look like: The machine attribute specifies the name of the machine where the SCRIPTFILE(s) are located. If not specified, it defaults to Python variable STAXJobScriptFileMachine. This attribute is equivalent to the SCRIPTFILEMACHINE option for a STAX EXECUTE command. <!
ELEMENT job-
scriptfile (#
PCDATA)>
machine CDATA "STAXJobScriptFileMachine" <!
ELEMENT job-
scriptfiles (#
PCDATA)>
<!
ATTLIST job-
scriptfiles machine CDATA "STAXJobScriptFileMachine" The job-action element specifies a task to be executed after the sub-job has started. This task will be executed in parallel with the sub-job via a new STAX-Thread. The task will be able to use the STAXSubJobID variable to obtain the sub-job ID in order to interact with the job. If the job completes before the task completes, the job will remain in a non-complete state until the task completes. If the job cannot be started, the job-action task is not executed. <!
ELEMENT job-
action (%
task;)>
<!--================= The STAF Process Element ===================== --> Specifies a STAF process to be started. All of its non-empty element values are evaluated via Python. <!
ENTITY %
procgroup1 '((parms?, workdir?) | (workdir?, parms?))'>
<!
ENTITY %
procgroup2 '((title?, workload?) | (workload?, title?))'>
<!
ENTITY %
procgroup1a '((parms?, workload?) | (workload?, parms?))'>
<!
ENTITY %
procgroup2a '((title?, workdir?) | (workdir?, title?))'>
<!
ENTITY %
procgroup3 '(((vars | var | envs | env)*, useprocessvars?) | (useprocessvars?, (vars | var | envs | env)*))'>
<!
ENTITY %
procgroup4 '(((username, password?)?, disabledauth?) | ((disabledauth?, (username, password?)?)))'>
<!
ENTITY %
procgroup5 '((stdin?, stdout?, stderr?) | (stdout?, stderr?, stdin?) | (stderr?, stdin?, stdout?) | (stdin?, stderr?, stdout?) | (stdout?, stdin?, stderr?) | (stderr?, stdout?, stdin?))'>
<!
ENTITY %
returnfileinfo '(returnfiles | returnfile)*'>
<!
ENTITY %
procgroup5a '((%returnfileinfo;, returnstdout?, returnstderr?) | (returnstdout?, returnstderr?, %returnfileinfo;) | (returnstderr?, %returnfileinfo;, returnstdout?) | (%returnfileinfo;, returnstderr?, returnstdout?) | (returnstdout?, %returnfileinfo;, returnstderr?) | (returnstderr?, returnstdout?, %returnfileinfo;))'>
<!
ENTITY %
procgroup6 '((stopusing?, console?, focus?, statichandlename?) | (stopusing?, console?, statichandlename?, focus?) | (stopusing?, focus?, console?, statichandlename?) | (stopusing?, focus?, statichandlename?, console?) | (stopusing?, statichandlename?, console?, focus?) | (stopusing?, statichandlename?, focus?, console?) | (console?, focus?, stopusing?, statichandlename?) | (console?, focus?, statichandlename?, stopusing?) | (console?, stopusing?, focus?, statichandlename?) | (console?, stopusing?, statichandlename?, focus?) | (console?, statichandlename?, focus?, stopusing?) | (console?, statichandlename?, stopusing?, focus?) | (focus?, console?, stopusing?, statichandlename?) | (focus?, console?, statichandlename?, stopusing?) | (focus?, stopusing?, console?, statichandlename?) | (focus?, stopusing?, statichandlename?, console?) | (focus?, statichandlename?, console?, stopusing?) | (focus?, statichandlename?, stopusing?, console?) | (statichandlename?, stopusing?, console?, focus?) | (statichandlename?, stopusing?, focus?, console?) | (statichandlename?, console?, focus?, stopusing?) | (statichandlename?, console?, stopusing?, focus?) | (statichandlename?, focus?, console?, stopusing?) | (statichandlename?, focus?, stopusing?, console?))'>
<!
ELEMENT process (
location,
command,
((%
procgroup1;, %
procgroup2;) |
(%
procgroup2;, %
procgroup1;) |
(%
procgroup1a;, %
procgroup2a;) |
(%
procgroup2a;, %
procgroup1a;)),
((%
procgroup4;, %
procgroup5;, %
procgroup5a;, %
procgroup6;) |
(%
procgroup4;, %
procgroup6;, %
procgroup5;, %
procgroup5a;) |
(%
procgroup5;, %
procgroup5a;, %
procgroup4;, %
procgroup6;) |
(%
procgroup5;, %
procgroup5a;, %
procgroup6;, %
procgroup4;) |
(%
procgroup6;, %
procgroup4;, %
procgroup5;, %
procgroup5a;) |
(%
procgroup6;, %
procgroup5;, %
procgroup5a;, %
procgroup4;)),
other?,
process-
action?)>
The process element must contain a location element and a <!
ELEMENT location (#
PCDATA)>
<!
ELEMENT command (#
PCDATA)>
The parms element specifies any parameters that you wish to The value is evaluated via Python to a string. <!
ELEMENT parms (#
PCDATA)>
The workload element specifies the name of the workload for which this process is a member. This may be useful in conjunction with other process elements. The value is evaluated via Python to a string. <!
ELEMENT workload (#
PCDATA)>
The title element specifies the program title of the process. Unless overridden by the process, the title will be the text that is displayed on the title bar of the application. The value is evaluated via Python to a string. <!
ELEMENT title (#
PCDATA)>
The workdir element specifies the directory from which the command should be executed. If you do not specify this element, the command will be started from whatever directory STAFProc is currently in. The value is evaluated via Python to a string. <!
ELEMENT workdir (#
PCDATA)>
The vars (and var) elements specify STAF variables that go into the process specific STAF variable pool. The value must evaluate via Python to a string or a list of strings. Multiple vars elements may be specified for a process. The format for each variable is: So, a list containing 3 variables could look like: ['var1=value1', 'var2=value2', 'var3=value3'] Specifying only one variable could look like either: <!
ELEMENT vars (#
PCDATA)>
The envs (and env) elements specify environment variables that will be set for the process. Environment variables may be mixed case, however most programs assume environment variable names will be uppercase, so, in most cases, ensure that your environment variable names are uppercase. The value must evaluate via Python to a string or a list of strings. Multiple envs elements may be specified for a process. The format for each variable is: So, a list containing 3 variables could look like: ['ENV_VAR_1=value1', 'ENV_VAR_2=value2', 'ENV_VAR_3=value3'] Specifying only one variable could look like either: <!
ELEMENT envs (#
PCDATA)>
The useprocessvars element specifies that STAF variable references should try to be resolved from the STAF variable pool associated with the process being started first. If the STAF variable is not found in this pool, the STAF global variable pool should then be searched. <!
ELEMENT useprocessvars EMPTY>
The stopusing element allows you to specify the method by which this process will be STOPed, if not overridden on the The value is evaluated via Python to a string. <!
ELEMENT stopusing (#
PCDATA)>
The console element allows you to specify if the process should get a new console window or share the STAFProc console. use Must evaluate via Python to a string containing either: - 'new' specifies that the process should get a new console window. This option only has effect on Windows systems. This is the default for Windows systems. - 'same' specifies that the process should share the STAFProc console. This option only has effect on Windows systems. This is the default for Unix systems. The focus element allows you to specify the focus that is to be given to any new windows opened when starting a process on a Windows system. The window(s) it effects depends on whether you are using the 'default' or the 'shell' command mode: - Default command mode (no SHELL option): The focus specified is given to any new windows opened by the command specified. - Shell command mode: The focus specified is given only to the new shell command window opened, not to any windows opened by The focus element only has effect on Windows systems and requires STAF V3.1.4 or later on the machine where the process is run. mode Must evaluate via Python to a string containing one of the - 'background' specifies to display a window in the background (e.g. not give it focus) in its most recent size and position. - 'foreground' specifies to display a window in the foreground (e.g. give it focus) in its most recent size and position. - 'minimized' specifies to display a window as minimized. The username element specifies the username under which the process should be started. The value is evaluated via Python to a string. <!
ELEMENT username (#
PCDATA)>
The password element specifies the password with which to authenticate the user specified with the username element. The value is evaluated via Python to a string. <!
ELEMENT password (#
PCDATA)>
<!-- The disabledauth element specifies the action to take if a action Must evaluate via Python to a string containing either: - 'error' specifies that an error should be returned. is ignored if authentication is desabled. This action overrides any default specified in the STAF <!
ELEMENT disabledauth EMPTY>
Specifies that a static handle should be created for this process. The value is evaluated via Python to a string. It will be the registered name of the static handle. Using this option will also cause the environment variable STAF_STATIC_HANDLE to be set appropriately for the process. <!
ELEMENT statichandlename (#
PCDATA)>
<!
ATTLIST statichandlename The stdin element specifies the name of the file from which standard input will be read. The value is evaluated via <!
ELEMENT stdin (#
PCDATA)>
The stdout element specifies the name of the file to which standard output will be redirected. The mode and filename are evaluated via Python to a string. <!
ELEMENT stdout (#
PCDATA)>
<!-- mode specifies what to do if the file already exists. The value must evaluate via Python to one of the 'replace' - specifies that the file will be replaced. 'append' - specifies that the process' standard output will be appended to the file. The stderr element specifies the file to which standard error will be redirected. The mode and filename are evaluated via Python to a <!
ELEMENT stderr (#
PCDATA)>
<!-- mode specifies what to do if the file already exists or to redirect standard error to the same file as standard output. The value must evaluate via Python to one of the following: 'replace' - specifies that the file will be replaced. 'append' - specifies that the process's standard error will 'stdout' - specifies to redirect standard error to the same file to which standard output is redirected. If a file name is specified, it is ignored. The returnstdout element specifies to return in STAXResult the contents of the file where standard output was redirected when the process completes. <!
ELEMENT returnstdout EMPTY>
The returnstderr element specifies to return in STAXResult the contents of the file where standard error was redirected when the process completes. <!
ELEMENT returnstderr EMPTY>
The returnfiles (and returnfile) elements specify that the contents of the specified file(s) should be returned in STAXResult when the process completes. The value must evaluate via Python to a string or a list of strings. Multiple returnfile(s) elements may be specified for a process. <!
ELEMENT returnfiles (#
PCDATA)>
<!
ELEMENT returnfile (#
PCDATA)>
The process-action element specifies a task to be executed when a process has started. <!
ELEMENT process-
action (%
task;)>
The other element specifies any other STAF parameters that may arise in the future. It is used to pass additional data to the STAF PROCESS START request. The value is evaluated via Python to a string. <!
ELEMENT other (#
PCDATA)>
<!--================= The No Operation Element ===================== --> <!--=============== The Try / Catch / Finally Elements ============= --> The try element allows you to perform a task and to catch exceptions that are thrown. Also, if a finally element is specified, then the finally task is executed, no matter whether the try task completes normally or abruptly, and no matter whether a catch element is first given control. <!
ELEMENT try ((%
task;), ((
catch+) | ((
catch*),
finally)))>
The catch element performs a task when the specified exception is caught. The var attribute specifies the name of the variable to receive the data specified within the throw element. The typevar attribute specifies the name of the variable to receive the type of the exception. The sourcevar attribute specifies the name of the variable to receive the source information for the exception. <!
ELEMENT catch (%
task;)>
exception CDATA #
REQUIRED <!
ELEMENT finally (%
task;)>
<!--================= Break Element ================================ --> The break element can be used to break out of a loop or iterate <!--================= The Testcase Element ========================= --> Defines a testcase. Used in conjunction with the tcstatus element to mark the status for a testcase. The name attribute value is evaluated via Python. <!
ELEMENT testcase (%
task;)>
<!--================= The Parallel Iterate Element ================ --> The parallel iterate element iterates through a list of items, performing its contained task while substituting each item in the list. The iterated tasks are performed in parallel. <!
ELEMENT paralleliterate (%
task;)>
<!-- var is the name of a variable which will contain the current item in the list or tuple being iterated. in is the list or tuple to be iterated. It is evaluated via Python and must evaluate to be a list or tuple. indexvar is the name of a variable which will contain the index of the current item in the list or tuple being iterated. It is a literal. The value of the first index is 0. <!
ATTLIST paralleliterate<!--================= Continue Element ============================= --> The continue element can be used to continue to the top of a loop <!
ELEMENT continue EMPTY>
<!--================= The Throw Element ============================ --> The throw element specifies an exception to throw. The exception attribute value and any additional information <!
ELEMENT throw (#
PCDATA)>
exception CDATA #
REQUIRED <!--================= The Release Element ========================== --> The release element specifies to release a block in the job. If an if attribute is specified and it evaluates via Python to false, the release element is ignored. <!--================= The Signal Handler Element =================== --> The signalhandler element defines how to handle a specified signal. The signal attribute value is evaluated via Python. <!
ELEMENT signalhandler (%
task;)>
<!--================= The Rethrow Element ========================= --> The rethrow element specifies to rethrow the current exception. <!--================= The Block Element ============================ --> Defines a task block that can be held, released, or terminated. define a task block that can be held, terminated, or released. The name attribute value is evaluated via Python. <!
ELEMENT block (%
task;)>
<!--================= The Hold Element ============================= --> The hold element specifies to hold a block in the job. If an if attribute is specified and it evaluates via Python to false, the hold element is ignored. <!--================= The Terminate Element ======================== --> The terminate element specifies to terminate a block in the job. If an if attribute is specified and it evaluates via Python to false, the terminate element is ignored. <!
ELEMENT terminate EMPTY>
<!--================= The Return Element =========================== --> Specifies a value to return from a function. <!
ELEMENT return (#
PCDATA)>
<!--================= The Conditional Element (if-then-else) ======= --> Allows you to write an if or a case construct with zero or more elseifs and one or no else statements. The expr attribute value is evaluated via Python and must evaluate <!
ELEMENT if ((%
task;),
elseif*,
else?)>
<!
ELEMENT elseif (%
task;)>
<!--================= The Call-With-List Element =================== --> Perform a function with the referenced name with any number of arguments in the form of a list. The function attribute value and argument values are evaluated via Python. <!
ELEMENT call-
with-
list (
call-
list-
arg*)>
<!
ELEMENT call-
list-
arg (#
PCDATA)>
<!--================= The Loop Element ============================= --> The loop element performs a task a specified number of times, allowing specification of an upper and lower bound with an increment value and where the index counter is available to sub-tasks. Also, while and/or until expressions can be <!-- var is the name of a variable which will contain the loop index variable. It is a literal. from is the starting value of the loop index variable. It must evaluate to an integer value via Python. to is the maximum value of the loop index variable It must evaluate to an integer value via Python. by is the increment value for the loop index variable It must evaluate to an integer value via Python. while is an expression that must evaluate to a boolean value and is performed at the top of each loop. If it evaluates to false, it breaks out of the loop. until is an expression that must evaluate to a boolean value and is performed at the bottom of each loop. If it evaluates to false, it breaks out of the loop. <!--================= The Call-With-Map Element ==================== --> Perform a function with the referenced name with any number of arguments in the form of a map of named arguments. The function and name attribute values as well as the argument value are <!
ELEMENT call-
with-
map (
call-
map-
arg*)>
<!
ELEMENT call-
map-
arg (#
PCDATA)>