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