| <?xml version="1.0" encoding="UTF-8"?> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> |
| <xs:element name="resource-manager-data"> |
| <xs:annotation> |
| <xs:documentation> |
| It is assumed that the xml instance of the schema will bear a name which sufficiently distinguishes it from others |
| of a similar type; e.g., pbs-torque-v_2.3.7_abe is specific to an installation on the host abe, ll-v_4.0 suits all installations of |
| LoadLeveler version 4, etc. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="site"/> |
| <xs:element ref="control"/> |
| <xs:element ref="monitor"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="site"> |
| <xs:annotation> |
| <xs:documentation> |
| An optional place to set remote site information. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" name="control-connection" type="xs:string"/> |
| <xs:element minOccurs="0" name="monitor-server-install" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="control"> |
| <xs:annotation> |
| <xs:documentation> |
| The implementation will construct a variable map serving as the resource manager "environment"; these are dereferenced in the |
| configuration file via ${rm:name} or ${rm:name#getterName}; in addition to the properties specified at the top level of the control |
| tree, all attributes and parsers will be mapped for reference. The following hard-coded variables are added at runtime: |
| <!-- from runtime configuration information --> |
| control.user.name |
| control.address |
| monitor.user.name |
| monitor.address |
| <!-- from the monitoring part --> |
| available_queues |
| <!-- from the launch command stdout parser --> |
| jobId |
| <!-- from the other Run Configuration tabs --> |
| executablePath |
| progArgs |
| directory |
| The top level of the tree represents the available commands/methods on all resource managers, places |
| for defining stdout or stderr parsers, for defining the structure of a batch script to be used, for defining (job) attributes, and |
| finally for describing how to construct the UI (Launch Configuration Tab). |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/> |
| <xs:element minOccurs="0" ref="managed-files"/> |
| <xs:element minOccurs="0" ref="on-start-up"/> |
| <xs:element minOccurs="0" ref="discover-attributes"/> |
| <xs:element name="submit-commands"> |
| <xs:complexType> |
| <xs:choice minOccurs="1" maxOccurs="3"> |
| <xs:element ref="submit-interactive"/> |
| <xs:element ref="submit-batch"/> |
| <xs:element ref="submit-debug"/> |
| </xs:choice> |
| </xs:complexType> |
| </xs:element> |
| <xs:element ref="terminate-job"/> |
| <xs:element minOccurs="0" ref="suspend-job"/> |
| <xs:element minOccurs="0" ref="resume-job"/> |
| <xs:element minOccurs="0" ref="hold-job"/> |
| <xs:element minOccurs="0" ref="release-job"/> |
| <xs:element minOccurs="0" ref="on-shut-down"/> |
| <xs:element minOccurs="0" ref="commands"/> |
| <xs:element minOccurs="0" ref="parsers"/> |
| <xs:element minOccurs="0" ref="script"/> |
| <xs:element ref="attribute-definitions"/> |
| <xs:element ref="launch-tab"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="property"> |
| <xs:annotation> |
| <xs:documentation> |
| The value is any object type; these are set at runtime. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="value" minOccurs="0" type="xs:string"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="managed-files"> |
| <xs:annotation> |
| <xs:documentation> |
| List of files to be staged. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="file-source-location" minOccurs="0" type="xs:string"/> |
| <xs:element name="file-staging-location" minOccurs="0" type="xs:string"/> |
| <xs:element maxOccurs="unbounded" ref="managed-file"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="managed-file"> |
| <xs:annotation> |
| <xs:documentation> |
| If 'contents' is present, the file is written. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="contents" minOccurs="0" type="xs:string"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required"/> |
| <xs:attribute name="uniqueIdPrefix" type="xs:boolean" default="false"/> |
| <xs:attribute name="deleteAfterUse" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="on-start-up"> |
| <xs:annotation> |
| <xs:documentation> |
| Arbitrary commands which need to be run on startup. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="discover-attributes"> |
| <xs:annotation> |
| <xs:documentation> |
| A command for retrieving (if possible) attributes defined by the service dynamically. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="submit-interactive"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for running interactive jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="submit-batch"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for running jobs through the scheduler. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="submit-debug"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for running debug jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="terminate-job"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for canceling or killing jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="suspend-job"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for suspending jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="resume-job"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for restarting suspended jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="hold-job"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for holding jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="release-job"> |
| <xs:annotation> |
| <xs:documentation> |
| The command(s) for releasing suspended jobs. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="on-shut-down"> |
| <xs:annotation> |
| <xs:documentation> |
| Arbitrary commands which need to be run on shut-down. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command-ref"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="commands"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="command"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="parsers"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="stream-parser"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="script"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="directive-definitions"/> |
| <xs:element minOccurs="0" ref="environment-variables"/> |
| <xs:element minOccurs="0" ref="pre-execute-commands"/> |
| <xs:element ref="execute-command"/> |
| <xs:element minOccurs="0" ref="post-execute-commands"/> |
| </xs:sequence> |
| <xs:attribute name="shell" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="directive-definitions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="directive-definition"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="directive-definition"> |
| <xs:annotation> |
| <xs:documentation> |
| 'ValueFrom' refers to properties in the resource manager environment. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType mixed="true"> |
| <xs:attribute name="valueFrom"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="environment-variables"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="environment-variable"/> |
| </xs:sequence> |
| <xs:attribute name="syntax" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="sentenv"/> |
| <xs:enumeration value="export"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="environment-variable"> |
| <xs:annotation> |
| <xs:documentation> |
| 'ValueFrom' refers to properties in the resource manager environment. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType > |
| <xs:attribute name="variableName" use="required" type="xs:string"/> |
| <xs:attribute name="valueFrom" use="required" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="pre-execute-commands"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="arglist" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="execute-command"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="arglist"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="post-execute-commands"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="arglist" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="attribute-definitions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="job-attribute" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="job-attribute"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="description" type="xs:string"/> |
| <xs:element name="tooltip" minOccurs="0" type="xs:string"/> |
| <xs:element name="choice" minOccurs="0" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| A a comma-delimited set of values. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="default" minOccurs="0" type="xs:string"/> |
| <xs:element minOccurs="0" ref="validator"/> |
| <xs:element name="value" minOccurs="0" type="xs:string"/> |
| </xs:sequence> |
| <xs:attribute name="id" use="required" type="xs:string"/> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| <xs:attribute name="type" use="required" type="xs:string"/> |
| <xs:attribute name="basic" type="xs:boolean" default="false"> |
| <xs:annotation> |
| <xs:documentation> |
| Indicates if this attribute is part of a basic (required) set, or if it is an (advanced) option. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="min" type="xs:int"/> |
| <xs:attribute name="max" type="xs:int"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="command-ref" type="xs:string"/> |
| <xs:element name="parser-ref" type="xs:string"/> |
| <xs:element name="command"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="arglist"/> |
| <xs:element minOccurs="0" maxOccurs="2" ref="parser-ref"/> |
| <xs:element minOccurs="0" ref="environment-variables"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attribute name="displayStdout" type="xs:boolean" default="false"/> |
| <xs:attribute name="displayStderr" type="xs:boolean" default="false"/> |
| <xs:attribute name="directory" type="xs:string"/> |
| <xs:attribute name="redirectStderr" type="xs:boolean" default="false"/> |
| <xs:attribute name="replaceEnvironment" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="arglist"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="arg"/> |
| </xs:sequence> |
| <xs:attribute name="dynamicAppend" type="xs:boolean" default="false"> |
| <xs:annotation> |
| <xs:documentation> |
| Iterate over all dynamic attributes, appending the sequence of args for each attribute. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="arg"> |
| <xs:annotation> |
| <xs:documentation> |
| The text of the argument will be parsed for references to the resource manager environment; e.g., ${rm:a}, v=${rm:v}, |
| etc. By convention, '${rm:@name}' and '${rm:@value}' will refer to a given dynamic attribute name and value (of undefined position i in |
| the list). |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType mixed="true"> |
| <xs:attribute name="isUndefinedIfEquals" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| If this is defined (even a zero-length string is valid), an equality check on the arg will be run and if satisfied the arg will be |
| eliminated from the list. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="stream-parser"> |
| <xs:annotation> |
| <xs:documentation> |
| These are attached to the stdout or stderr streams in order to capture the output of the command and add values |
| into the resource manager environment. The range indicates which lines of output should be examined. If redirect is true, the |
| stream will be passed on to an output stream provided by the caller. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="range"/> |
| <xs:element ref="token"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| <xs:attribute name="stderr" type="xs:boolean" default="false"/> |
| <xs:attribute name="redirect" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="token"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="range"/> |
| <xs:choice> |
| <xs:element ref="token"/> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="put"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="set"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="add"/> |
| </xs:sequence> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute name="delim"> |
| <xs:annotation> |
| <xs:documentation> |
| The absence of a delimiter means match the entire segment. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="add"> |
| <xs:annotation> |
| <xs:documentation> |
| Value is the concatenation of tokens matching the range; this is then added as an element to the named list. If |
| there is no such list, a list will be created and assigned to the variable name. If no range is present, the value equals the |
| entire element. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="range"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="set"> |
| <xs:annotation> |
| <xs:documentation> |
| Value assigned to the setter is the concatenation of tokens matching the range; in the context of this |
| implementation, setter refers to the name of an attribute or element of JobAttribute or to a Property value; name designates the |
| variable to which the JobAttribute or Property has been assigned. If no such element exists an exception is thrown. If no |
| range is |
| present, the value equals the entire element. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="range"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| <xs:attribute name="setter" use="required" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="put"> |
| <xs:annotation> |
| <xs:documentation> |
| Value is the concatenation of tokens matching the range; this is assigned as a Property variable with the given |
| name. This method will overwrite any variable with the same name. If no range is present, the value equals |
| the entire element. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="range"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="range" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| Indicates which elements generated by a segmentation should be returned; expression is a comma-delimited list, |
| which may also contain colon-delimited ranges; by convention, ":N" = up to final segment returned. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="validator"> |
| <xs:annotation> |
| <xs:documentation> |
| A regular expression or an acl used to validate an attribute value. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:choice> |
| <xs:element name="regex" type="xs:string"/> |
| <xs:element name="acl" type="xs:string"/> |
| </xs:choice> |
| <xs:element name="error-message" minOccurs="0" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="launch-tab"> |
| <xs:annotation> |
| <xs:documentation> |
| This is a recursive description of the main UI element associated with the control part, the Launch Tab. NOTE: I |
| do not as yet know how many of the underlying widget options need to be exposed here for effective building in the createControl |
| method. What follows is minimal. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="tab-controller"/> |
| </xs:sequence> |
| <xs:attribute name="advancedModeEnabled" type="xs:boolean" default="false"> |
| <xs:annotation> |
| <xs:documentation> |
| If this is set to true, a tab-controller which allows the user to browse the local file system and/or workspace |
| to open and edit a custom batch script will be created; this will include copy and renaming buttons. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="tab-controller"> |
| <xs:annotation> |
| <xs:documentation> |
| as in: org.eclipse.ptp.rm.ui.launch.ExtendableRMLaunchConfigurationDynamicTab; a top-level "switch" between views. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="group"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="tab-folder"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="tab-folder"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string"/> |
| <xs:element maxOccurs="unbounded" ref="tab-item"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="tab-item"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="group"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="tab-folder"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="group"> |
| <xs:annotation> |
| <xs:documentation> |
| We may want a few tweaks here, such as borders, etc. Dynamic attribute means this group gets rebuilt if there is a |
| button allowing the user to select displayed attributes. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="grid-data" minOccurs="0"/> |
| <xs:element ref="grid-layout" minOccurs="0"/> |
| <xs:element name="title" type="xs:string" minOccurs="0"/> |
| <xs:element ref="style" minOccurs="0"/> |
| <xs:choice> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element ref="group"/> |
| <xs:element ref="tab-folder"/> |
| <xs:element ref="widget"/> |
| <xs:element ref="viewer"/> |
| </xs:choice> |
| <xs:element ref="discovered-attributes"/> |
| <xs:element ref="all-attributes"/> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute name="dynamic" type="xs:boolean" default="false"/> |
| <xs:attribute name="scrollable" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="all-attributes"> |
| <xs:annotation> |
| <xs:documentation> |
| Indicates that all the attributes defined at initialization and runtime be placed in this group. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="viewer" minOccurs="0"> |
| <xs:annotation> |
| <xs:documentation> |
| The presence of this element indicates all attributes should be placed in a single table; otherwise, attributes |
| are mapped serially to widgets by type. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="include"> |
| <xs:complexType> |
| <xs:attribute name="headers" type="xs:boolean" default="true"/> |
| <xs:attribute name="sort" type="xs:boolean" default="true"/> |
| <xs:attribute name="name" type="xs:boolean" default="true"/> |
| <xs:attribute name="tooltip" type="xs:boolean" default="true"/> |
| <xs:attribute name="description" type="xs:boolean" default="true"/> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="discovered-attributes"> |
| <xs:annotation> |
| <xs:documentation> |
| Indicates that all the attributes defined at runtime be placed in this group. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="viewer" minOccurs="0"> |
| <xs:annotation> |
| <xs:documentation> |
| The presence of this element indicates all attributes should be placed in a single table; otherwise, attributes |
| are mapped serially to widgets by type. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="include"> |
| <xs:complexType> |
| <xs:attribute name="headers" type="xs:boolean" default="true"/> |
| <xs:attribute name="sort" type="xs:boolean" default="true"/> |
| <xs:attribute name="name" type="xs:boolean" default="true"/> |
| <xs:attribute name="tooltip" type="xs:boolean" default="true"/> |
| <xs:attribute name="description" type="xs:boolean" default="true"/> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="grid-data"> |
| <xs:complexType> |
| <xs:attribute name="horizontalAlign" type="xs:string"/> |
| <xs:attribute name="verticalAlign" type="xs:string"/> |
| <xs:attribute name="grabExcessHorizontal" type="xs:boolean" default="true"/> |
| <xs:attribute name="grabExcessVertical" type="xs:boolean" default="false"/> |
| <xs:attribute name="horizontalSpan" type="xs:integer"/> |
| <xs:attribute name="verticalSpan" type="xs:integer"/> |
| <xs:attribute name="minHeight" type="xs:integer"/> |
| <xs:attribute name="minWidth" type="xs:integer"/> |
| <xs:attribute name="heightHint" type="xs:integer"/> |
| <xs:attribute name="widthHint" type="xs:integer"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="grid-layout"> |
| <xs:complexType> |
| <xs:attribute name="numColumns" type="xs:integer"/> |
| <xs:attribute name="horizontalSpacing" type="xs:integer"/> |
| <xs:attribute name="makeColumnsEqualWidth" type="xs:boolean" default="true"/> |
| <xs:attribute name="marginBottom" type="xs:integer"/> |
| <xs:attribute name="marginHeight" type="xs:integer"/> |
| <xs:attribute name="marginLeft" type="xs:integer"/> |
| <xs:attribute name="marginRight" type="xs:integer"/> |
| <xs:attribute name="marginTop" type="xs:integer"/> |
| <xs:attribute name="marginWidth" type="xs:integer"/> |
| <xs:attribute name="verticalSpacing" type="xs:integer"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="column-data"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="style"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attribute name="width" type="xs:string"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="style"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="tag" type="xs:string" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation> |
| The strings will be converted into their integer values; |
| e.g., "SWT.NONE". They will then be 'or'd' ( | ). |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="viewer"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="grid-data" minOccurs="0"/> |
| <xs:element ref="grid-layout" minOccurs="0"/> |
| <xs:element name="label" minOccurs="0" type="xs:string"/> |
| <xs:element ref="style" minOccurs="0"/> |
| <xs:element ref="column-data" minOccurs="0"/> |
| <xs:element name="initial-rows" minOccurs="0"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="row" maxOccurs="unbounded"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="column-text" maxOccurs="unbounded" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| <xs:attribute name="editable" type="xs:boolean" default="true"/> |
| <xs:attribute name="type" default="table"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="table"/> |
| <xs:enumeration value="tree"/> |
| <xs:enumeration value="checkboxTable"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="widget"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="label" minOccurs="0" type="xs:string"/> |
| <xs:element ref="style" minOccurs="0"/> |
| <xs:element name="tooltip" minOccurs="0" type="xs:string"/> |
| <xs:element name="content" minOccurs="0"> |
| <xs:annotation> |
| <xs:documentation> |
| The text of this element will be parsed for references to the resource manager environment; e.g., ${a}, |
| version-${b}, etc. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="arglist"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="saveValueTo" type="xs:string" minOccurs="0"> |
| <xs:annotation> |
| <xs:documentation> |
| The text of this element will be the name of a property. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| <xs:attribute name="type" default="text"> |
| <xs:annotation> |
| <xs:documentation> |
| Custom, fixed widgets: |
| 1. select-attributes: push button which brings up wizard exposing attribute names with |
| checkboxes, allowing dynamic groups to be rebuilt. |
| 2. show-script: push button which displays the batch script as it would |
| currently be submitted. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="label"/> <!-- automatically read-only --> |
| <xs:enumeration value="text"/> |
| <xs:enumeration value="pushButton"/> <!-- automatically read-only --> |
| <xs:enumeration value="radioButton"/> <!-- automatically read-only --> |
| <xs:enumeration value="spinner"/> |
| <xs:enumeration value="checkbox"/> <!-- automatically read-only --> |
| <xs:enumeration value="combo"/> |
| <xs:enumeration value="browseDirectoryButton"/> |
| <xs:enumeration value="browseExistingFileButton"/> |
| <xs:enumeration value="browseOrCreateFileButton"/> |
| <xs:enumeration value="selectAttributes"/> <!-- automatically read-only --> |
| <xs:enumeration value="showScript"/> <!-- automatically read-only --> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readOnly" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="monitor"> |
| <xs:annotation> |
| <xs:documentation> |
| I have for the moment left this undefined. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:schema> |