| New file |
| | |
| | | <!-- |
| | | STAf eXecution (STAX) Document Type Definition (DTD) |
| | | |
| | | Generated Date: 20070622-12:02:15 |
| | | |
| | | This DTD module is identified by the SYSTEM identifier: |
| | | |
| | | SYSTEM 'stax.dtd' |
| | | |
| | | --> |
| | | |
| | | <!-- Parameter entities referenced in Element declarations --> |
| | | |
| | | <!ENTITY % stax-elems 'function | script | signalhandler'> |
| | | |
| | | <!ENTITY % task 'call | terminate | raise | |
| | | block | iterate | throw | |
| | | break | paralleliterate | timer | |
| | | if | loop | import | |
| | | tcstatus | rethrow | parallel | |
| | | hold | return | job | |
| | | call-with-list | script | log | |
| | | stafcmd | nop | testcase | |
| | | message | process | signalhandler | |
| | | call-with-map | sequence | continue | |
| | | release | try'> |
| | | |
| | | <!--================= STAX Job Definition ========================== --> |
| | | <!-- |
| | | The root element STAX contains all other elements. It consists |
| | | of an optional defaultcall element and any number of function, |
| | | script, and/or signalhandler elements. |
| | | --> |
| | | <!ELEMENT stax ((%stax-elems;)*, defaultcall?, (%stax-elems;)*)> |
| | | |
| | | <!--================= The Default Call Function Element ============ --> |
| | | <!-- |
| | | The defaultcall element defines the function to call by default |
| | | to start the job. This can be overridden by the 'FUNCTION' |
| | | parameter when submitting the job to be executed. |
| | | The function attribute's value is a literal. |
| | | --> |
| | | <!ELEMENT defaultcall (#PCDATA)> |
| | | <!ATTLIST defaultcall |
| | | function IDREF #REQUIRED |
| | | > |
| | | |
| | | <!--================= The Call Element ============================= --> |
| | | <!-- |
| | | Perform a function with the referenced name. |
| | | The function attribute value is evaluated via Python. |
| | | Arguments can be specified as data to the call element. |
| | | Arguments are evaluated via Python. |
| | | --> |
| | | <!ELEMENT call (#PCDATA)> |
| | | <!ATTLIST call |
| | | function CDATA #REQUIRED |
| | | > |
| | | |
| | | |
| | | <!--================= 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> |
| | | <!ATTLIST terminate |
| | | block CDATA #IMPLIED |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--================= 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. |
| | | --> |
| | | <!ELEMENT raise EMPTY> |
| | | <!ATTLIST raise |
| | | signal CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= The Block Element ============================ --> |
| | | <!-- |
| | | Defines a task block that can be held, released, or terminated. |
| | | Used in conjunction with the hold/terminate/release elements to |
| | | define a task block that can be held, terminated, or released. |
| | | The name attribute value is evaluated via Python. |
| | | --> |
| | | <!ELEMENT block (%task;)> |
| | | <!ATTLIST block |
| | | name CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= 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-epilog)?, |
| | | (function-no-args | function-single-arg | |
| | | function-list-args | function-map-args)?, |
| | | (%task;))> |
| | | <!ATTLIST function |
| | | name ID #REQUIRED |
| | | requires IDREFS #IMPLIED |
| | | 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 | |
| | | function-optional-arg | |
| | | function-arg-def)> |
| | | |
| | | <!ELEMENT function-list-args ((((function-required-arg+, |
| | | function-optional-arg*) | |
| | | (function-required-arg*, |
| | | function-optional-arg+)), |
| | | (function-other-args)?) | |
| | | function-arg-def+)> |
| | | |
| | | <!ELEMENT function-map-args (((function-required-arg | |
| | | function-optional-arg)+, |
| | | (function-other-args+)?) | |
| | | function-arg-def+)> |
| | | |
| | | <!ELEMENT function-required-arg (#PCDATA)> |
| | | <!ATTLIST function-required-arg |
| | | name CDATA #REQUIRED |
| | | > |
| | | |
| | | <!ELEMENT function-optional-arg (#PCDATA)> |
| | | <!ATTLIST function-optional-arg |
| | | name CDATA #REQUIRED |
| | | default CDATA "None" |
| | | > |
| | | |
| | | <!ELEMENT function-other-args (#PCDATA)> |
| | | <!ATTLIST function-other-args |
| | | name CDATA #REQUIRED |
| | | > |
| | | |
| | | <!ELEMENT function-arg-def (function-arg-description?, |
| | | function-arg-private?, |
| | | function-arg-property*)> |
| | | <!ATTLIST function-arg-def |
| | | name CDATA #REQUIRED |
| | | type (required | optional | other) "required" |
| | | default CDATA "None" |
| | | > |
| | | |
| | | <!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 |
| | | name CDATA #REQUIRED |
| | | value CDATA #IMPLIED |
| | | > |
| | | |
| | | <!ELEMENT function-arg-property-description (#PCDATA)> |
| | | |
| | | <!ELEMENT function-arg-property-data (function-arg-property-data)*> |
| | | <!ATTLIST function-arg-property-data |
| | | type CDATA #REQUIRED |
| | | value CDATA #IMPLIED |
| | | > |
| | | |
| | | <!--================= 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. |
| | | It is a literal. |
| | | 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. |
| | | --> |
| | | <!ATTLIST iterate |
| | | var CDATA #REQUIRED |
| | | in CDATA #REQUIRED |
| | | indexvar CDATA #IMPLIED |
| | | > |
| | | |
| | | <!--================= The Throw Element ============================ --> |
| | | <!-- |
| | | The throw element specifies an exception to throw. |
| | | The exception attribute value and any additional information |
| | | is evaluated via Python. |
| | | --> |
| | | <!ELEMENT throw (#PCDATA)> |
| | | <!ATTLIST throw |
| | | exception CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= Break Element ================================ --> |
| | | <!-- |
| | | The break element can be used to break out of a loop or iterate |
| | | element. |
| | | --> |
| | | <!ELEMENT break EMPTY> |
| | | |
| | | <!--================= 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. |
| | | It is a literal. |
| | | 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 |
| | | var CDATA #REQUIRED |
| | | in CDATA #REQUIRED |
| | | indexvar CDATA #IMPLIED |
| | | > |
| | | |
| | | <!--================= The Timer Element ============================ --> |
| | | <!-- |
| | | The timer element runs a task for a specified duration. |
| | | If the task is still running at the end of the specified duration, |
| | | then the RC variable is set to 1, else if the task ended before |
| | | the specified duration, the RC variable is set to 0, else if the |
| | | timer could not start due to an invalid duration, the RC variable |
| | | is set to -1. |
| | | --> |
| | | <!ELEMENT timer (%task;)> |
| | | <!-- duration is the maximum length of time to run the task. |
| | | Time can be expressed in milliseconds, seconds, minutes, |
| | | hours, days, weeks, or years. It is evaluated via Python. |
| | | Examples: duration='50' (50 milliseconds) |
| | | duration='90s' (90 seconds) |
| | | duration='5m' ( 5 minutes) |
| | | duration='36h' (36 hours) |
| | | duration='3d' ( 3 days) |
| | | duration='1w' ( 1 week) |
| | | duration='1y' ( 1 year) |
| | | --> |
| | | <!ATTLIST timer |
| | | duration CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= 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 |
| | | to a boolean value. |
| | | --> |
| | | <!ELEMENT if ((%task;), elseif*, else?)> |
| | | <!ATTLIST if |
| | | expr CDATA #REQUIRED |
| | | > |
| | | <!ELEMENT elseif (%task;)> |
| | | <!ATTLIST elseif |
| | | expr CDATA #REQUIRED |
| | | > |
| | | <!ELEMENT else (%task;)> |
| | | |
| | | <!--================= 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 |
| | | specified. |
| | | --> |
| | | <!ELEMENT loop (%task;)> |
| | | <!-- 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. |
| | | --> |
| | | <!ATTLIST loop |
| | | var CDATA #IMPLIED |
| | | from CDATA '1' |
| | | to CDATA #IMPLIED |
| | | by CDATA '1' |
| | | while CDATA #IMPLIED |
| | | until CDATA #IMPLIED |
| | | > |
| | | |
| | | <!--================= The Import Element ========================== --> |
| | | <!-- |
| | | Allows importing of functions from another STAX XML job file. |
| | | --> |
| | | <!ELEMENT import (import-include?, import-exclude?)?> |
| | | <!ATTLIST import |
| | | machine CDATA #REQUIRED |
| | | file CDATA #REQUIRED |
| | | mode CDATA "'error'" |
| | | > |
| | | <!ELEMENT import-include (#PCDATA)> |
| | | <!ELEMENT import-exclude (#PCDATA)> |
| | | |
| | | |
| | | <!--================= The Testcase Status Element ================== --> |
| | | <!-- |
| | | Marks status result ('pass' or 'fail' or 'info') for a testcase |
| | | and allows additional information to be specified. The status |
| | | result and the additional info is evaluated via Python. |
| | | --> |
| | | <!ELEMENT tcstatus (#PCDATA)> |
| | | <!ATTLIST tcstatus |
| | | result CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= The Rethrow Element ========================= --> |
| | | <!-- |
| | | The rethrow element specifies to rethrow the current exception. |
| | | --> |
| | | <!ELEMENT rethrow EMPTY> |
| | | |
| | | <!--================= The Parallel Element ========================= --> |
| | | <!-- |
| | | The parallel element performs one or more tasks in parallel. |
| | | --> |
| | | <!ELEMENT parallel (%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. |
| | | --> |
| | | <!ELEMENT hold EMPTY> |
| | | <!ATTLIST hold |
| | | block CDATA #IMPLIED |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--================= The Return Element =========================== --> |
| | | <!-- |
| | | Specifies a value to return from a function. |
| | | --> |
| | | <!ELEMENT return (#PCDATA)> |
| | | |
| | | <!--================== 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 |
| | | value. |
| | | |
| | | 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 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 |
| | | (true or false). |
| | | --> |
| | | <!ELEMENT job ((job-file | job-data), |
| | | job-function?, job-function-args?, |
| | | (job-scriptfile | job-scriptfiles)?, |
| | | job-script*, job-action?)> |
| | | <!ATTLIST job |
| | | name CDATA #IMPLIED |
| | | clearlogs CDATA "'parent'" |
| | | monitor CDATA #IMPLIED |
| | | logtcelapsedtime CDATA "'parent'" |
| | | logtcnumstarts CDATA "'parent'" |
| | | logtcstartstop 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 |
| | | EXECUTE command. |
| | | |
| | | 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)> |
| | | <!ATTLIST job-file |
| | | 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)> |
| | | <!ATTLIST job-data |
| | | eval CDATA "0" |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST job-function |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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 |
| | | command. |
| | | |
| | | The eval attribute specifies whether the data is to be evaluated |
| | | by Python in the parent job. The default for the eval attribute |
| | | is false ("0"). |
| | | --> |
| | | <!ELEMENT job-function-args (#PCDATA)> |
| | | <!ATTLIST job-function-args |
| | | if CDATA "1" |
| | | eval CDATA "0" |
| | | > |
| | | |
| | | <!-- |
| | | 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 |
| | | is false ("0"). |
| | | --> |
| | | <!ELEMENT job-script (#PCDATA)> |
| | | <!ATTLIST job-script |
| | | if CDATA "1" |
| | | eval CDATA "0" |
| | | > |
| | | |
| | | <!-- |
| | | 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: |
| | | ['C:/stax/scriptfiles/scriptfile1.py'] or |
| | | 'C:/stax/scriptfiles/scriptfiel1.py' |
| | | Specifying a list containing 3 scriptfiles could look like: |
| | | ['C:/stax/scriptfiles/scriptfile1.py', |
| | | 'C:/stax/scriptfiles/scriptfile2.py', |
| | | C:/stax/scriptfiles/scriptfile2.py' ] |
| | | |
| | | 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)> |
| | | <!ATTLIST job-scriptfile |
| | | if CDATA "1" |
| | | machine CDATA "STAXJobScriptFileMachine" |
| | | > |
| | | |
| | | <!ELEMENT job-scriptfiles (#PCDATA)> |
| | | <!ATTLIST job-scriptfiles |
| | | if CDATA "1" |
| | | 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;)> |
| | | <!ATTLIST job-action |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--================= 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*)> |
| | | <!ATTLIST call-with-list |
| | | function CDATA #REQUIRED |
| | | > |
| | | |
| | | <!ELEMENT call-list-arg (#PCDATA)> |
| | | |
| | | |
| | | <!--================= The Script Element =========================== --> |
| | | <!-- |
| | | Specifies Python code to be executed. |
| | | --> |
| | | <!ELEMENT script (#PCDATA)> |
| | | |
| | | <!--================= The Log Element ============================== --> |
| | | <!-- |
| | | Writes a message and its log level to a STAX Job User Log file. |
| | | The message must evaluate via Python to a string. |
| | | |
| | | The log level specified defaults to 'info'. If specified, it |
| | | must evaluate via Python to a string containing one of the |
| | | following STAF Log Service Log levels: |
| | | fatal, warning, info, trace, trace2, trace3, debug, debug2, |
| | | debug3, start, stop, pass, fail, status, user1, user2, user3, |
| | | user4, user5, user6, user7, user8 |
| | | The message attribute is evaluated via Python. If it evaluates |
| | | to true, the message text will also be sent to the STAX Job Monitor. |
| | | The message attribute defaults to the STAXMessageLog variable whose |
| | | value defaults to 0 (false) but can by changed within the STAX job |
| | | to turn on messaging. |
| | | |
| | | If an if attribute is specified and it evaluates via Python to |
| | | false, then the log element is ignored. |
| | | --> |
| | | <!ELEMENT log (#PCDATA)> |
| | | <!ATTLIST log |
| | | level CDATA "'info'" |
| | | message CDATA "STAXMessageLog" |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--================= The STAF Command Element ===================== --> |
| | | <!-- |
| | | Specifies a STAF command to be executed. |
| | | Its name and all of its element values are evaluated via Python. |
| | | --> |
| | | <!ELEMENT stafcmd (location, service, request)> |
| | | <!ATTLIST stafcmd |
| | | name CDATA #IMPLIED |
| | | > |
| | | <!ELEMENT service (#PCDATA)> |
| | | <!ELEMENT request (#PCDATA)> |
| | | |
| | | <!--================= The No Operation Element ===================== --> |
| | | <!-- |
| | | No operation action. |
| | | --> |
| | | <!ELEMENT nop EMPTY> |
| | | |
| | | <!--================= 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;)> |
| | | <!ATTLIST testcase |
| | | name CDATA #REQUIRED |
| | | mode CDATA "'default'" |
| | | > |
| | | |
| | | <!--================= The Message Element ========================== --> |
| | | <!-- |
| | | Generates an event and makes the message value available to the |
| | | STAX Job Monitor. The message must evaluate via Python to a string. |
| | | |
| | | The log attribute is evaluated via Python to a boolean. If it |
| | | evaluates to true, the message text will also be logged in the STAX |
| | | Job User log. The log attribute defaults to the STAXLogMessage |
| | | 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 |
| | | logging levels: |
| | | 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)> |
| | | <!ATTLIST message |
| | | log CDATA "STAXLogMessage" |
| | | level CDATA "'info'" |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--================= 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;)), |
| | | %procgroup3;, |
| | | ((%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?)> |
| | | <!ATTLIST process |
| | | name CDATA #IMPLIED |
| | | > |
| | | |
| | | <!-- |
| | | The process element must contain a location element and a |
| | | command element. |
| | | --> |
| | | <!ELEMENT location (#PCDATA)> |
| | | <!ELEMENT command (#PCDATA)> |
| | | <!ATTLIST command |
| | | mode CDATA "'default'" |
| | | shell CDATA #IMPLIED |
| | | > |
| | | |
| | | <!-- |
| | | The parms element specifies any parameters that you wish to |
| | | pass to the command. |
| | | The value is evaluated via Python to a string. |
| | | --> |
| | | <!ELEMENT parms (#PCDATA)> |
| | | <!ATTLIST parms |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST workload |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST title |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST workdir |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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: |
| | | 'varname=value' |
| | | So, a list containing 3 variables could look like: |
| | | ['var1=value1', 'var2=value2', 'var3=value3'] |
| | | Specifying only one variable could look like either: |
| | | ['var1=value1'] or |
| | | 'var1=value1' |
| | | --> |
| | | <!ELEMENT vars (#PCDATA)> |
| | | <!ATTLIST vars |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!ELEMENT var (#PCDATA)> |
| | | <!ATTLIST var |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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: |
| | | 'varname=value' |
| | | 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: |
| | | ['ENV_VAR_1=value1'] or |
| | | 'ENV_VAR_1=value1' |
| | | --> |
| | | <!ELEMENT envs (#PCDATA)> |
| | | <!ATTLIST envs |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!ELEMENT env (#PCDATA)> |
| | | <!ATTLIST env |
| | | if CDATA "1" |
| | | > |
| | | <!-- |
| | | 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> |
| | | <!ATTLIST useprocessvars |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | The stopusing element allows you to specify the method by |
| | | which this process will be STOPed, if not overridden on the |
| | | STOP command. |
| | | The value is evaluated via Python to a string. |
| | | --> |
| | | <!ELEMENT stopusing (#PCDATA)> |
| | | <!ATTLIST stopusing |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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. |
| | | --> |
| | | <!ELEMENT console EMPTY> |
| | | <!ATTLIST console |
| | | if CDATA "1" |
| | | use CDATA #REQUIRED |
| | | > |
| | | |
| | | <!-- |
| | | 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 specified command. |
| | | |
| | | 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 |
| | | following values: |
| | | - 'background' specifies to display a window in the background |
| | | (e.g. not give it focus) in its most recent size and position. |
| | | This is the default. |
| | | - '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. |
| | | --> |
| | | <!ELEMENT focus EMPTY> |
| | | <!ATTLIST focus |
| | | if CDATA "1" |
| | | mode CDATA #REQUIRED |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST username |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST password |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- The disabledauth element specifies the action to take if a |
| | | username/password is specified but authentication has been disabled. |
| | | |
| | | action Must evaluate via Python to a string containing either: |
| | | - 'error' specifies that an error should be returned. |
| | | - 'ignore' specifies that any username/password specified |
| | | is ignored if authentication is desabled. |
| | | This action overrides any default specified in the STAF |
| | | configuration file. |
| | | --> |
| | | <!ELEMENT disabledauth EMPTY> |
| | | <!ATTLIST disabledauth |
| | | if CDATA "1" |
| | | action CDATA #REQUIRED |
| | | > |
| | | |
| | | <!-- |
| | | 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 |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | The stdin element specifies the name of the file from which |
| | | standard input will be read. The value is evaluated via |
| | | Python to a string. |
| | | --> |
| | | <!ELEMENT stdin (#PCDATA)> |
| | | <!ATTLIST stdin |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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 |
| | | following: |
| | | 'replace' - specifies that the file will be replaced. |
| | | 'append' - specifies that the process' standard |
| | | output will be appended to the file. |
| | | --> |
| | | <!ATTLIST stdout |
| | | if CDATA "1" |
| | | mode CDATA "'replace'" |
| | | > |
| | | |
| | | <!-- |
| | | The stderr element specifies the file to which standard error will |
| | | be redirected. The mode and filename are evaluated via Python to a |
| | | string. |
| | | --> |
| | | <!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 |
| | | be appended to the file. |
| | | '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. |
| | | --> |
| | | <!ATTLIST stderr |
| | | if CDATA "1" |
| | | mode CDATA "'replace'" |
| | | > |
| | | |
| | | <!-- |
| | | 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> |
| | | <!ATTLIST returnstdout |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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> |
| | | <!ATTLIST returnstderr |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST returnfiles |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!ELEMENT returnfile (#PCDATA)> |
| | | <!ATTLIST returnfile |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!-- |
| | | The process-action element specifies a task to be executed |
| | | when a process has started. |
| | | --> |
| | | <!ELEMENT process-action (%task;)> |
| | | <!ATTLIST process-action |
| | | if CDATA "1" |
| | | > |
| | | <!-- |
| | | 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)> |
| | | <!ATTLIST other |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--================= 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;)> |
| | | <!ATTLIST signalhandler |
| | | signal CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= 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 |
| | | evaluated via Python. |
| | | --> |
| | | <!ELEMENT call-with-map (call-map-arg*)> |
| | | <!ATTLIST call-with-map |
| | | function CDATA #REQUIRED |
| | | > |
| | | |
| | | <!ELEMENT call-map-arg (#PCDATA)> |
| | | <!ATTLIST call-map-arg |
| | | name CDATA #REQUIRED |
| | | > |
| | | |
| | | <!--================= The Sequence Element ========================= --> |
| | | <!-- |
| | | The sequence element performs one or more tasks in sequence. |
| | | --> |
| | | <!ELEMENT sequence (%task;)+> |
| | | |
| | | <!--================= Continue Element ============================= --> |
| | | <!-- |
| | | The continue element can be used to continue to the top of a loop |
| | | or iterate element. |
| | | --> |
| | | <!ELEMENT continue EMPTY> |
| | | |
| | | <!--================= 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. |
| | | --> |
| | | <!ELEMENT release EMPTY> |
| | | <!ATTLIST release |
| | | block CDATA #IMPLIED |
| | | if CDATA "1" |
| | | > |
| | | |
| | | <!--=============== 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. |
| | | |
| | | --> |
| | | <!ELEMENT catch (%task;)> |
| | | <!ATTLIST catch |
| | | exception CDATA #REQUIRED |
| | | var CDATA #IMPLIED |
| | | typevar CDATA #IMPLIED |
| | | > |
| | | <!ELEMENT finally (%task;)> |
| | | |