| <?xml version="1.0" encoding="UTF-8"?> |
| <xs:schema targetNamespace="http://org.eclipse.ptp/rm" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rm="http://org.eclipse.ptp/rm" |
| elementFormDefault="qualified"> |
| <xs:element name="resource-manager-builder" type="rm:resource-manager-data"/> |
| <xs:complexType 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:sequence> |
| <xs:element name="site-data" minOccurs="0" type="rm:site"/> |
| <xs:element name="control-data" type="rm:control"/> |
| <xs:element name="monitor-data" type="rm:monitor"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="site"> |
| <xs:annotation> |
| <xs:documentation> |
| An optional place to set remote site information. |
| </xs:documentation> |
| </xs:annotation> |
| <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:complexType 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:sequence> |
| <xs:element name="property" minOccurs="0" maxOccurs="unbounded" type="rm:property"/> |
| <xs:element name="job-attribute" minOccurs="0" maxOccurs="unbounded" type="rm:job-attribute"/> |
| <xs:element name="managed-files" minOccurs="0" type="rm:managed-files"/> |
| <xs:element name="script" minOccurs="0" type="rm:script"/> |
| <xs:element name="start-up-command" minOccurs="0" maxOccurs="unbounded" type="rm:command"> |
| <xs:annotation> |
| <xs:documentation> |
| Arbitrary commands which need to be run on startup. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:choice minOccurs="1" maxOccurs="3"> |
| <xs:element name="submit-interactive" type="rm:command"/> |
| <xs:element name="submit-batch" type="rm:command"/> |
| <xs:element name="submit-debug" type="rm:command"/> |
| </xs:choice> |
| <xs:element name="get-job-status" type="rm:command" minOccurs="0"/> |
| <xs:element name="terminate-job" type="rm:command" minOccurs="0"/> |
| <xs:element name="suspend-job" type="rm:command" minOccurs="0"/> |
| <xs:element name="resume-job" type="rm:command" minOccurs="0"/> |
| <xs:element name="hold-job" type="rm:command" minOccurs="0"/> |
| <xs:element name="release-job" type="rm:command" minOccurs="0"/> |
| <xs:element name="shut-down-command" minOccurs="0" maxOccurs="unbounded" type="rm:command"> |
| <xs:annotation> |
| <xs:documentation> |
| Arbitrary commands which need to be run on shutdown. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="launch-tab" minOccurs="0" type="rm:launch-tab"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="property"> |
| <xs:annotation> |
| <xs:documentation> |
| The value is any object type; these are set at runtime. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="value" minOccurs="0"/> |
| <xs:element name="default" minOccurs="0" type="xs:string"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attribute name="selected" type="xs:boolean" default="true"/> |
| <xs:attribute name="configurable" type="xs:boolean" default="true"/> |
| </xs:complexType> |
| <xs:complexType name="job-attribute"> |
| <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 name="validator" minOccurs="0" type="rm:validator"/> |
| <xs:element name="value" minOccurs="0"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| <xs:attribute name="type" use="required" type="xs:string"/> |
| <xs:attribute name="configurable" type="xs:boolean" default="true"/> |
| <xs:attribute name="selected" type="xs:boolean" default="true"/> |
| <xs:attribute name="status" type="xs:string"/> |
| <xs:attribute name="readOnly" type="xs:boolean" default="false"/> |
| <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:complexType name="managed-files"> |
| <xs:annotation> |
| <xs:documentation> |
| List of files to be staged. |
| </xs:documentation> |
| </xs:annotation> |
| <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 name="file" maxOccurs="unbounded" type="rm:managed-file"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="script"> |
| <xs:sequence> |
| <xs:element name="directive" minOccurs="0" maxOccurs="unbounded" type="rm:directive-definition"/> |
| <xs:element name="variable" minOccurs="0" maxOccurs="unbounded" type="rm:environment-variable"/> |
| <xs:element name="pre-execute-command" minOccurs="0" maxOccurs="unbounded" type="rm:arglist"/> |
| <xs:element name="execute-command" type="rm:arglist"/> |
| <xs:element name="post-execute-command" minOccurs="0" maxOccurs="unbounded" type="rm:arglist"/> |
| </xs:sequence> |
| <xs:attribute name="shellDirective" use="required"/> |
| </xs:complexType> |
| <xs:complexType name="command"> |
| <xs:sequence> |
| <xs:element name="args" type="rm:arglist"/> |
| <xs:element name="stdout-parser" minOccurs="0" type="rm:tokenizer"/> |
| <xs:element name="stderr-parser" minOccurs="0" type="rm:tokenizer"/> |
| <xs:element name="environment" minOccurs="0" maxOccurs="unbounded" type="rm:environment-variable"/> |
| </xs:sequence> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| <xs:attribute name="directory" type="xs:string"/> |
| <xs:attribute name="redirectStderr" type="xs:boolean" default="false"/> |
| <xs:attribute name="streamBufferLimit" type="xs:int" default="-1"/> |
| <xs:attribute name="replaceEnvironment" type="xs:boolean" default="false"/> |
| <xs:attribute name="waitForId" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| <xs:complexType name="launch-tab"> |
| <xs:annotation> |
| <xs:documentation> |
| A recursive description of the UI element associated with the control part, the Launch Tab. |
| As in: |
| org.eclipse.ptp.rm.ui.launch.ExtendableRMLaunchConfigurationDynamicTab, provides a top-level "switch" between controllers. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="basic" minOccurs="0" type="rm:tab-controller"/> |
| <xs:element name="advanced" minOccurs="0" type="rm:tab-controller"/> |
| <xs:element name="custom-controller" minOccurs="0" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| Fixed type. 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. |
| Use the string as the title to appear in the top-level |
| folder |
| tab. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="validator"> |
| <xs:annotation> |
| <xs:documentation> |
| A regular expression or an acl used to validate an attribute value. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:sequence> |
| <xs:element name="regex" minOccurs="0" type="rm:regex"/> |
| <xs:element name="fileInfo" minOccurs="0" type="rm:file-match"/> |
| </xs:sequence> |
| <xs:element name="error-message" minOccurs="0" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="managed-file"> |
| <xs:annotation> |
| <xs:documentation> |
| If 'contents' is present, the file is written. |
| </xs:documentation> |
| </xs:annotation> |
| <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:complexType name="file-match"> |
| <xs:annotation> |
| <xs:documentation> |
| efsAttributes is an or'd string of tags corresponding to the EFS integer constants. |
| use "yyyy/MM/dd HH:mm:ss" format for modified strings. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="efsAttributes"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="ATTRIBUTE_READ_ONLY"/> |
| <xs:enumeration value="ATTRIBUTE_IMMUTABLE"/> |
| <xs:enumeration value="ATTRIBUTE_OWNER_READ"/> |
| <xs:enumeration value="ATTRIBUTE_OWNER_WRITE"/> |
| <xs:enumeration value="ATTRIBUTE_OWNER_EXECUTE"/> |
| <xs:enumeration value="ATTRIBUTE_GROUP_READ"/> |
| <xs:enumeration value="ATTRIBUTE_GROUP_WRITE"/> |
| <xs:enumeration value="ATTRIBUTE_GROUP_EXECUTE"/> |
| <xs:enumeration value="ATTRIBUTE_OTHER_READ"/> |
| <xs:enumeration value="ATTRIBUTE_OTHER_WRITE"/> |
| <xs:enumeration value="ATTRIBUTE_OTHER_EXECUTE"/> |
| <xs:enumeration value="ATTRIBUTE_EXECUTABLE"/> |
| <xs:enumeration value="ATTRIBUTE_ARCHIVE"/> |
| <xs:enumeration value="ATTRIBUTE_HIDDEN"/> |
| <xs:enumeration value="ATTRIBUTE_SYMLINK"/> |
| <xs:enumeration value="ATTRIBUTE_LINK_TARGET"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="lastModifiedBefore" type="xs:string"/> |
| <xs:attribute name="lastModifiedAfter" type="xs:string"/> |
| <xs:attribute name="length" type="xs:long"/> |
| <xs:attribute name="isDirectory" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| <xs:complexType mixed="true" name="directive-definition"> |
| <xs:annotation> |
| <xs:documentation> |
| 'ValueFrom' refers to properties in the resource manager environment. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="valueFrom"/> |
| </xs:complexType> |
| <xs:complexType name="environment-variable"> |
| <xs:annotation> |
| <xs:documentation> |
| 'ValueFrom' refers to properties in the resource manager environment. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="variableName" use="required" type="xs:string"/> |
| <xs:attribute name="valueFrom" use="required" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="arglist"> |
| <xs:sequence> |
| <xs:element name="arg" maxOccurs="unbounded" type="rm: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:complexType name="tab-controller"> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string"/> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element name="tab-folder" type="rm:tab-folder"/> |
| <xs:element name="group" type="rm:group"/> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute name="dynamic" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| <xs:complexType name="regex" mixed="true"> |
| <xs:attribute name="flags" type="xs:string"/> |
| <xs:attribute name="split" type="xs:boolean" default="false"/> |
| <xs:attribute name="expression" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType mixed="true" 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:attribute name="isUndefinedIfEquals" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| If this is defined, an equality check on the arg will be run and if satisfied the arg will be eliminated from the |
| list (the default behavior is not to include null or zero-length args). |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| <xs:complexType name="tokenizer"> |
| <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. If displayStdout or displayStderr of the command is true, the stream will be passed on to an |
| output stream will also be sent to the terminal. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:choice> |
| <xs:element name="type" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| Place to provide a custom tokenizer; type is the extension id contributing to |
| "org.eclipse.ptp.rm.jaxb.core.streamParserTokenizer". |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:sequence> |
| <xs:element name="read" maxOccurs="unbounded" type="rm:read"/> |
| </xs:sequence> |
| </xs:choice> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="tab-folder"> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string"/> |
| <xs:element name="item" maxOccurs="unbounded" type="rm:tab-item"/> |
| </xs:sequence> |
| <xs:attribute name="dynamic" type="xs:boolean" default="false"/> |
| </xs:complexType> |
| <xs:complexType 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:sequence> |
| <xs:element name="grid-data" minOccurs="0" type="rm:grid-data"/> |
| <xs:element name="grid-layout" minOccurs="0" type="rm:grid-layout"/> |
| <xs:element name="title" minOccurs="0" type="xs:string"/> |
| <xs:element name="style" minOccurs="0" type="rm:style"/> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element name="tab-folder" type="rm:tab-folder"/> |
| <xs:element name="group" type="rm:group"/> |
| <xs:element name="widget" type="rm:widget"/> |
| <xs:element name="viewer" type="rm:attribute-viewer"/> |
| </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:complexType name="read"> |
| <xs:sequence> |
| <xs:element name="match" minOccurs="0" maxOccurs="unbounded" type="rm:match"/> |
| </xs:sequence> |
| <xs:attribute name="delim" type="xs:string"/> |
| <xs:attribute name="includeDelim" type="xs:boolean" default="false"/> |
| <xs:attribute name="maxMatchLen" type="xs:int" default="0"/> |
| <xs:attribute name="all" type="xs:boolean" default="false"/> |
| <xs:attribute name="save" type="xs:int" default="0"/> |
| <xs:attribute name="mode" default="or"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="or"/> |
| <xs:enumeration value="and"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| <xs:complexType name="tab-item"> |
| <xs:sequence> |
| <xs:element name="title" type="xs:string"/> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element name="group" type="rm:group"/> |
| <xs:element name="tab-folder" type="rm:tab-folder"/> |
| </xs:choice> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="grid-data"> |
| <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:int"/> |
| <xs:attribute name="verticalSpan" type="xs:int"/> |
| <xs:attribute name="minHeight" type="xs:int"/> |
| <xs:attribute name="minWidth" type="xs:int"/> |
| <xs:attribute name="heightHint" type="xs:int"/> |
| <xs:attribute name="widthHint" type="xs:int"/> |
| </xs:complexType> |
| <xs:complexType name="grid-layout"> |
| <xs:attribute name="numColumns" type="xs:int"/> |
| <xs:attribute name="horizontalSpacing" type="xs:int"/> |
| <xs:attribute name="makeColumnsEqualWidth" type="xs:boolean" default="true"/> |
| <xs:attribute name="marginBottom" type="xs:int"/> |
| <xs:attribute name="marginHeight" type="xs:int"/> |
| <xs:attribute name="marginLeft" type="xs:int"/> |
| <xs:attribute name="marginRight" type="xs:int"/> |
| <xs:attribute name="marginTop" type="xs:int"/> |
| <xs:attribute name="marginWidth" type="xs:int"/> |
| <xs:attribute name="verticalSpacing" type="xs:int"/> |
| </xs:complexType> |
| <xs:complexType name="style"> |
| <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:complexType name="widget"> |
| <xs:sequence> |
| <xs:element name="grid-data" minOccurs="0" type="rm:grid-data"/> |
| <xs:element name="label" minOccurs="0" type="xs:string"/> |
| <xs:element name="style" minOccurs="0" type="rm:style"/> |
| <xs:element name="tooltip" minOccurs="0" type="xs:string"/> |
| <xs:element name="value" minOccurs="0" type="xs:string"/> |
| <xs:element name="displayValue" minOccurs="0" type="rm:arglist"> |
| <xs:annotation> |
| <xs:documentation> |
| The text of this element will be parsed for references to the environment; e.g., ${a}, |
| version-${b}. |
| </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"/> |
| <xs:enumeration value="text"/> |
| <xs:enumeration value="checkbox"/> |
| <xs:enumeration value="spinner"/> |
| <xs:enumeration value="combo"/> |
| <xs:enumeration value="pushButton"/> |
| <xs:enumeration value="radioButton"/> |
| <xs:enumeration value="browseDirectoryButton"/> |
| <xs:enumeration value="browseExistingFileButton"/> |
| <xs:enumeration value="browseOrCreateFileButton"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readOnly" type="xs:boolean" default="false"/> |
| <xs:attribute name="valueFrom" type="xs:string"/> |
| <xs:attribute name="saveAs" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="attribute-viewer"> |
| <xs:sequence> |
| <xs:element name="grid-data" minOccurs="0" type="rm:grid-data"/> |
| <xs:element name="grid-layout" minOccurs="0" type="rm:grid-layout"/> |
| <xs:element name="label" minOccurs="0" type="xs:string"/> |
| <xs:element name="style" minOccurs="0" type="rm:style"/> |
| <xs:element name="column-data" minOccurs="0" type="rm:column-data"/> |
| <xs:element name="items" type="rm:viewer-items"/> |
| </xs:sequence> |
| <xs:attribute name="type" default="table"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="table"/> |
| <xs:enumeration value="tree"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="sort" type="xs:boolean" default="true"/> |
| </xs:complexType> |
| <xs:complexType name="viewer-items"> |
| <xs:sequence> |
| <xs:element name="include"> |
| <xs:complexType> |
| <xs:attribute name="headers" 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:attribute name="allPredefined" type="xs:boolean" default="false"/> |
| <xs:attribute name="allDiscovered" type="xs:boolean" default="true"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="ref" maxOccurs="unbounded" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="match"> |
| <xs:sequence> |
| <xs:element name="expression" minOccurs="0" type="rm:regex"/> |
| <xs:element name="target" minOccurs="0" type="rm:target"/> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element name="add" type="rm:add"/> |
| <xs:element name="append" type="rm:append"/> |
| <xs:element name="put" type="rm:put"/> |
| <xs:element name="set" type="rm:set"/> |
| </xs:choice> |
| <xs:element name="test" minOccurs="0" maxOccurs="unbounded" type="rm:test"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="column-data"> |
| <xs:sequence> |
| <xs:element name="style" type="rm:style"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attribute name="width" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="target"> |
| <xs:attribute name="ref" type="xs:string"/> |
| <xs:attribute name="type" default="property"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="property"/> |
| <xs:enumeration value="attribute"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="idFrom" type="xs:int"/> |
| </xs:complexType> |
| <xs:complexType name="set"> |
| <xs:sequence> |
| <xs:element name="entry" minOccurs="0" type="rm:entry"/> |
| </xs:sequence> |
| <xs:attribute name="field" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="add"> |
| <xs:sequence> |
| <xs:element name="entry" minOccurs="0" maxOccurs="unbounded" type="rm:entry"/> |
| </xs:sequence> |
| <xs:attribute name="field" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="append"> |
| <xs:sequence> |
| <xs:element name="entry" minOccurs="0" maxOccurs="unbounded" type="rm:entry"/> |
| </xs:sequence> |
| <xs:attribute name="field" type="xs:string"/> |
| <xs:attribute name="separator" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="put"> |
| <xs:sequence> |
| <xs:element name="entry" minOccurs="0" maxOccurs="unbounded" type="rm:entry"/> |
| </xs:sequence> |
| <xs:attribute name="field" type="xs:string"/> |
| </xs:complexType> |
| <xs:complexType name="entry"> |
| <xs:attribute name="key" type="xs:string"/> |
| <xs:attribute name="keyGroup" type="xs:int" default="0"/> |
| <xs:attribute name="keyIndex" type="xs:int" default="0"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="valueGroup" type="xs:int" default="0"/> |
| <xs:attribute name="valueIndex" type="xs:int" default="0"/> |
| </xs:complexType> |
| <xs:complexType name="test"> |
| <xs:sequence> |
| <xs:element name="test" minOccurs="0" maxOccurs="unbounded" type="rm:test"/> |
| <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="2"> |
| <xs:annotation> |
| <xs:documentation> |
| .*[${rm:}]*.* refers to a variable in the RM environment; |
| "this.FIELD" refers to the value of the given field on |
| the current target; |
| other strings will be converted in conformity with the inferred type of the comparison. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element name="add" type="rm:add"/> |
| <xs:element name="append" type="rm:append"/> |
| <xs:element name="put" type="rm:put"/> |
| <xs:element name="set" type="rm:set"/> |
| </xs:choice> |
| <xs:element name="else" minOccurs="0"> |
| <xs:complexType> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element name="add" type="rm:add"/> |
| <xs:element name="append" type="rm:append"/> |
| <xs:element name="put" type="rm:put"/> |
| <xs:element name="set" type="rm:set"/> |
| </xs:choice> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| <xs:attribute name="op"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="EQ"/> |
| <xs:enumeration value="LT"/> |
| <xs:enumeration value="GT"/> |
| <xs:enumeration value="LE"/> |
| <xs:enumeration value="GE"/> |
| <xs:enumeration value="AND"/> |
| <xs:enumeration value="OR"/> |
| <xs:enumeration value="NOT"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| <xs:complexType name="monitor"> |
| <xs:annotation> |
| <xs:documentation> |
| I have for the moment left this undefined. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:complexType> |
| </xs:schema> |