blob: 679346bdecf6d0d784548d368be0be3c666e9a04 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- ******************************************************************************* -->
<!-- * Copyright (c) 2011 University of Illinois All rights reserved. This program -->
<!-- * and the accompanying materials are made available under the terms of the -->
<!-- * Eclipse Public License v1.0 which accompanies this distribution, and is -->
<!-- * available at http://www.eclipse.org/legal/epl-v10.html -->
<!-- * -->
<!-- * Contributors: -->
<!-- * Albert L. Rossi - design and implementation -->
<!-- ****************************************************************************** -->
<xs:schema targetNamespace="http://eclipse.org/ptp/rm"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rm="http://eclipse.org/ptp/rm"
elementFormDefault="qualified" version="1.2.0"
xmlns:lml="http://eclipse.org/ptp/lml">
<xs:import schemaLocation="http://eclipse.org/ptp/schemas/v1.1/layout.xsd" namespace="http://eclipse.org/ptp/lml"/>
<xs:element name="resource-manager-builder" type="rm:resource-manager-data"/>
<xs:complexType name="resource-manager-data">
<xs:sequence>
<xs:element name="site-data" minOccurs="0" type="rm:site-type"/>
<xs:element name="control-data" minOccurs="0" type="rm:control-type"/>
<xs:element name="monitor-data" minOccurs="0" type="rm:monitor-type"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="site-type">
<xs:sequence>
<xs:element minOccurs="0" name="remote-services" type="xs:string"/>
<xs:element minOccurs="0" name="connection-name" type="xs:string"/>
<!-- The following elements are deprecated. Do not use. -->
<xs:element minOccurs="0" name="control-connection" type="xs:string"/>
<xs:element minOccurs="0" name="monitor-connection" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="control-type">
<xs:sequence>
<xs:element name="attribute" minOccurs="0" maxOccurs="unbounded" type="rm:attribute-type"/>
<xs:element name="managed-files" minOccurs="0" maxOccurs="unbounded" type="rm:managed-files-type"/>
<xs:element name="script" minOccurs="0" type="rm:script-type"/>
<xs:element name="start-up-command" minOccurs="0" maxOccurs="unbounded" type="rm:command-type"/>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element name="submit-interactive" type="rm:command-type"/>
<xs:element name="submit-interactive-debug" type="rm:command-type" minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element name="submit-batch" type="rm:command-type"/>
<xs:element name="submit-batch-debug" type="rm:command-type" minOccurs="0"/>
</xs:sequence>
</xs:choice>
<xs:element name="get-job-status" type="rm:command-type" minOccurs="0"/>
<xs:element name="terminate-job" type="rm:command-type" minOccurs="0"/>
<xs:element name="suspend-job" type="rm:command-type" minOccurs="0"/>
<xs:element name="resume-job" type="rm:command-type" minOccurs="0"/>
<xs:element name="hold-job" type="rm:command-type" minOccurs="0"/>
<xs:element name="release-job" type="rm:command-type" minOccurs="0"/>
<xs:element name="shut-down-command" minOccurs="0" maxOccurs="unbounded" type="rm:command-type"/>
<xs:element name="button-action" minOccurs="0" maxOccurs="unbounded" type="rm:command-type"/>
<xs:element name="launch-tab" minOccurs="0" type="rm:launch-tab-type"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attribute-type">
<xs:sequence>
<xs:element name="description" minOccurs="0" type="xs:string"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="choice" minOccurs="0" type="xs:string"/>
<xs:element name="items-from" minOccurs="0" type="xs:string"/>
<xs:element name="default" minOccurs="0" type="xs:string"/>
<xs:element name="value" minOccurs="0"/>
<xs:element name="link-value-to" minOccurs="0" type="xs:string"/>
<xs:element name="validator" minOccurs="0" type="rm:validator-type"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="type" type="xs:string" default="java.lang.String"/>
<xs:attribute name="visible" type="xs:boolean" default="true"/>
<xs:attribute name="status" type="xs:string"/>
<xs:attribute name="readOnly" type="xs:boolean" default="false"/>
<xs:attribute name="translateBooleanAs" type="xs:string"/>
<xs:attribute name="min" type="xs:int"/>
<xs:attribute name="max" type="xs:int"/>
</xs:complexType>
<xs:complexType name="managed-files-type">
<xs:sequence>
<xs:element name="file-staging-location" minOccurs="0" type="xs:string"/>
<xs:element name="file" maxOccurs="unbounded" type="rm:managed-file-type"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="script-type">
<xs:sequence>
<xs:element name="file-staging-location" minOccurs="0" type="xs:string"/>
<xs:element name="line" maxOccurs="unbounded" type="rm:line-type"/>
</xs:sequence>
<xs:attribute name="insertEnvironmentAfter" type="xs:int" default="-1"/>
<xs:attribute name="deleteAfterSubmit" type="xs:boolean" default="true"/>
</xs:complexType>
<xs:complexType name="line-type">
<xs:sequence>
<xs:element name="arg" minOccurs="0" maxOccurs="unbounded" type="rm:arg-type"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="command-type">
<xs:sequence>
<xs:element name="arg" maxOccurs="unbounded" type="rm:arg-type"/>
<xs:element name="input" minOccurs="0" maxOccurs="unbounded" type="rm:arg-type"/>
<xs:element name="environment" minOccurs="0" maxOccurs="unbounded" type="rm:environment-type"/>
<xs:element name="stdout-parser" minOccurs="0" type="rm:tokenizer-type"/>
<xs:element name="stderr-parser" minOccurs="0" type="rm:tokenizer-type"/>
<xs:element name="redirect-parser" minOccurs="0" type="rm:tokenizer-type"/>
<xs:element name="pre-launch-cmd" minOccurs="0" maxOccurs="unbounded" type="rm:simple-command-type"/>
<xs:element name="post-launch-cmd" minOccurs="0" maxOccurs="unbounded" type="rm:simple-command-type"/>
</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:attribute name="ignoreExitStatus" type="xs:boolean" default="false"/>
<xs:attribute name="keepOpen" type="xs:boolean" default="false"/>
<xs:attribute name="flags" type="xs:string"/>
</xs:complexType>
<xs:complexType name="simple-command-type">
<xs:attribute name="exec" use="required" type="xs:string"/>
<xs:attribute name="directory" type="xs:string"/>
<xs:attribute name="redirectStderr" type="xs:boolean" default="false"/>
<xs:attribute name="ignoreExitStatus" type="xs:boolean" default="false"/>
<xs:attribute name="wait" type="xs:boolean" default="true"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="flags" type="xs:string"/>
</xs:complexType>
<xs:complexType name="launch-tab-type">
<xs:sequence>
<xs:element name="dynamic" minOccurs="0" maxOccurs="unbounded" type="rm:tab-controller-type"/>
<xs:element name="import" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="export-for-override" minOccurs="0" type="rm:attribute-viewer-type"/>
</xs:sequence>
<xs:attribute name="title" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="validator-type">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="regex" type="rm:regex-type"/>
<xs:element name="file-info" type="rm:file-match-type"/>
<xs:sequence>
<xs:element name="range" maxOccurs="unbounded" type="rm:range-type"/>
</xs:sequence>
</xs:choice>
<xs:element name="error-message" minOccurs="0" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="managed-file-type">
<xs:choice>
<xs:sequence>
<xs:element name="line" maxOccurs="unbounded" type="rm:line-type"/>
</xs:sequence>
<xs:element name="contents" type="xs:string"/>
<xs:element name="path" type="xs:string"/>
</xs:choice>
<xs:attribute name="name" use="required"/>
<xs:attribute name="uniqueIdPrefix" type="xs:boolean" default="false"/>
<xs:attribute name="resolveContents" type="xs:boolean" default="true"/>
<xs:attribute name="deleteSourceAfterUse" type="xs:boolean" default="false"/>
<xs:attribute name="deleteTargetAfterUse" type="xs:boolean" default="false"/>
<xs:attribute name="mode" type="xs:string"/>
<xs:attribute name="flags" type="xs:string"/>
</xs:complexType>
<xs:complexType name="file-match-type">
<xs:attribute name="efsAttributes" type="xs:string"/>
<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 name="range-type">
<xs:attribute name="lessThan" type="xs:string"/>
<xs:attribute name="lessThanOrEqualTo" type="xs:string"/>
<xs:attribute name="greaterThan" type="xs:string"/>
<xs:attribute name="greaterThanOrEqualTo" type="xs:string"/>
</xs:complexType>
<xs:complexType name="environment-type">
<xs:sequence>
<xs:element name="arg" minOccurs="0" maxOccurs="unbounded" type="rm:arg-type"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
<xs:attribute name="preserve" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="tab-controller-type">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="layout" minOccurs="0" type="rm:layout-type"/>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="tab-folder" type="rm:tab-folder-type"/>
<xs:element name="composite" type="rm:composite-type"/>
<xs:element name="widget" type="rm:widget-type"/>
<xs:element name="browse" type="rm:browse-type"/>
<xs:element name="action" type="rm:push-button-type"/>
<xs:element name="button-group" type="rm:button-group-type"/>
<xs:element name="viewer" type="rm:attribute-viewer-type"/>
</xs:choice>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
<xs:attribute name="includeWidgetValuesFrom" type="xs:string"/>
<xs:attribute name="showViewConfig" type="xs:boolean" default="true"/>
<xs:attribute name="showViewExcluded" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="regex-type" 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-type">
<xs:attribute name="attribute" type="xs:string"/>
<xs:attribute name="isUndefinedIfMatches" type="xs:string"/>
<xs:attribute name="resolve" type="xs:boolean" default="true"/>
</xs:complexType>
<xs:complexType name="tokenizer-type">
<xs:sequence>
<xs:choice>
<xs:element name="type" type="xs:string"/>
<xs:element name="target" maxOccurs="unbounded" type="rm:target-type"/>
</xs:choice>
<xs:element name="exit-on" minOccurs="0" type="rm:regex-type"/>
<xs:element name="exit-after" minOccurs="0" type="rm:regex-type"/>
</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="applyToAll" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="tab-folder-type">
<xs:sequence>
<xs:element name="layout" minOccurs="0" type="rm:layout-type"/>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="item" maxOccurs="unbounded" type="rm:tab-item-type"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="composite-type">
<xs:sequence>
<xs:element name="layout" minOccurs="0" type="rm:layout-type"/>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:element name="title" minOccurs="0" type="xs:string"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="tab-folder" type="rm:tab-folder-type"/>
<xs:element name="composite" type="rm:composite-type"/>
<xs:element name="widget" type="rm:widget-type"/>
<xs:element name="browse" type="rm:browse-type"/>
<xs:element name="action" type="rm:push-button-type"/>
<xs:element name="button-group" type="rm:button-group-type"/>
<xs:element name="viewer" type="rm:attribute-viewer-type"/>
</xs:choice>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="group" type="xs:boolean" default="false"/>
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="tab-item-type">
<xs:sequence>
<xs:element name="layout" minOccurs="0" type="rm:layout-type"/>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="composite" type="rm:composite-type"/>
<xs:element name="tab-folder" type="rm:tab-folder-type"/>
<xs:element name="widget" type="rm:widget-type"/>
<xs:element name="browse" type="rm:browse-type"/>
<xs:element name="action" type="rm:push-button-type"/>
<xs:element name="button-group" type="rm:button-group-type"/>
<xs:element name="viewer" type="rm:attribute-viewer-type"/>
</xs:choice>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="layout-type">
<xs:choice>
<xs:element name="fill-layout" type="rm:fill-layout-type"/>
<xs:element name="row-layout" type="rm:row-layout-type"/>
<xs:element name="grid-layout" type="rm:grid-layout-type"/>
<xs:element name="form-layout" type="rm:form-layout-type"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="layout-data-type">
<xs:choice>
<xs:element name="row-data" type="rm:row-data-type"/>
<xs:element name="grid-data" type="rm:grid-data-type"/>
<xs:element name="form-data" type="rm:form-data-type"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="fill-layout-type">
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="marginHeight" type="xs:int"/>
<xs:attribute name="marginWidth" type="xs:int"/>
<xs:attribute name="spacing" type="xs:int"/>
</xs:complexType>
<xs:complexType name="row-layout-type">
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="center" type="xs:boolean" default="false"/>
<xs:attribute name="justify" type="xs:boolean" default="false"/>
<xs:attribute name="fill" type="xs:boolean" default="false"/>
<xs:attribute name="pack" type="xs:boolean" default="false"/>
<xs:attribute name="wrap" type="xs:boolean" default="false"/>
<xs:attribute name="marginHeight" type="xs:int"/>
<xs:attribute name="marginWidth" type="xs:int"/>
<xs:attribute name="marginTop" type="xs:int"/>
<xs:attribute name="marginBottom" type="xs:int"/>
<xs:attribute name="marginLeft" type="xs:int"/>
<xs:attribute name="marginRight" type="xs:int"/>
<xs:attribute name="spacing" type="xs:int"/>
</xs:complexType>
<xs:complexType name="grid-layout-type">
<xs:attribute name="numColumns" type="xs:int"/>
<xs:attribute name="makeColumnsEqualWidth" type="xs:boolean" default="false"/>
<xs:attribute name="marginHeight" type="xs:int"/>
<xs:attribute name="marginWidth" type="xs:int"/>
<xs:attribute name="marginTop" type="xs:int"/>
<xs:attribute name="marginBottom" type="xs:int"/>
<xs:attribute name="marginLeft" type="xs:int"/>
<xs:attribute name="marginRight" type="xs:int"/>
<xs:attribute name="horizontalSpacing" type="xs:int"/>
<xs:attribute name="verticalSpacing" type="xs:int"/>
</xs:complexType>
<xs:complexType name="form-layout-type">
<xs:attribute name="marginHeight" type="xs:int"/>
<xs:attribute name="marginWidth" type="xs:int"/>
<xs:attribute name="marginTop" type="xs:int"/>
<xs:attribute name="marginBottom" type="xs:int"/>
<xs:attribute name="marginLeft" type="xs:int"/>
<xs:attribute name="marginRight" type="xs:int"/>
<xs:attribute name="spacing" type="xs:int"/>
</xs:complexType>
<xs:complexType name="row-data-type">
<xs:attribute name="height" type="xs:int"/>
<xs:attribute name="width" type="xs:int"/>
<xs:attribute name="exclude" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="grid-data-type">
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="horizontalAlign" type="xs:string"/>
<xs:attribute name="verticalAlign" type="xs:string"/>
<xs:attribute name="grabExcessHorizontal" type="xs:boolean" default="false"/>
<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="horizontalIndent" type="xs:int"/>
<xs:attribute name="verticalIndent" 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="form-data-type">
<xs:sequence>
<xs:element name="top" minOccurs="0" type="rm:form-attachment-type"/>
<xs:element name="bottom" minOccurs="0" type="rm:form-attachment-type"/>
<xs:element name="left" minOccurs="0" type="rm:form-attachment-type"/>
<xs:element name="right" minOccurs="0" type="rm:form-attachment-type"/>
</xs:sequence>
<xs:attribute name="height" type="xs:int"/>
<xs:attribute name="width" type="xs:int"/>
</xs:complexType>
<xs:complexType name="form-attachment-type">
<xs:attribute name="alignment" type="xs:string"/>
<xs:attribute name="numerator" type="xs:int"/>
<xs:attribute name="denominator" type="xs:int"/>
<xs:attribute name="offset" type="xs:int"/>
</xs:complexType>
<xs:complexType name="widget-type">
<xs:sequence>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="items-from" minOccurs="0" type="xs:string"/>
<xs:element name="fixed-text" minOccurs="0" type="xs:string"/>
<xs:element name="dynamic-text" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="arg" maxOccurs="unbounded" type="rm:arg-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="type" default="text">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="label"/>
<xs:enumeration value="text"/>
<xs:enumeration value="checkbox"/>
<xs:enumeration value="radiobutton"/>
<xs:enumeration value="spinner"/>
<xs:enumeration value="combo"/>
<xs:enumeration value="custom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="typeId" type="xs:string"/>
<xs:attribute name="buttonId" type="xs:string"/>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="readOnly" type="xs:boolean" default="false"/>
<xs:attribute name="attribute" type="xs:string"/>
<xs:attribute name="foreground" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="button-group-type">
<xs:sequence>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="layout" minOccurs="0" type="rm:layout-type"/>
<xs:element name="title" minOccurs="0" type="xs:string"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="button" maxOccurs="unbounded" type="rm:widget-type"/>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="group" type="xs:boolean" default="false"/>
<xs:attribute name="attribute" type="xs:string"/>
<xs:attribute name="style" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="browse-type">
<xs:sequence>
<xs:element name="text-layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="button-layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="text-control-state" minOccurs="0" type="rm:control-state-type"/>
<xs:element name="button-control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="textStyle" type="xs:string"/>
<xs:attribute name="directory" type="xs:boolean" default="false"/>
<xs:attribute name="uri" type="xs:boolean" default="false"/>
<xs:attribute name="localOnly" type="xs:boolean" default="false"/>
<xs:attribute name="readOnly" type="xs:boolean" default="false"/>
<xs:attribute name="attribute" type="xs:string"/>
<xs:attribute name="foreground" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="push-button-type">
<xs:sequence>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
<xs:element name="button-action" minOccurs="0" type="rm:button-action-type"/>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</xs:sequence>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="foreground" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="button-action-type">
<xs:sequence>
<xs:element name="action" type="xs:string"/>
</xs:sequence>
<xs:attribute name="clearValue" type="xs:string"/>
<xs:attribute name="refresh" type="xs:boolean" default="true"/>
</xs:complexType>
<xs:complexType name="attribute-viewer-type">
<xs:sequence>
<xs:element name="layout-data" minOccurs="0" type="rm:layout-data-type"/>
<xs:element name="layout" minOccurs="0" type="rm:layout-type"/>
<xs:element name="label" minOccurs="0" type="xs:string"/>
<xs:element name="column-data" minOccurs="0" maxOccurs="7" type="rm:column-data-type"/>
<xs:element name="items" type="rm:viewer-items-type"/>
<xs:element name="value" minOccurs="0" type="rm:template-type"/>
<xs:element name="control-state" minOccurs="0" type="rm:control-state-type"/>
</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="name" type="xs:string"/>
<xs:attribute name="initialAllChecked" type="xs:boolean" default="true"/>
<xs:attribute name="sort" type="xs:boolean" default="true"/>
<xs:attribute name="headerVisible" type="xs:boolean" default="true"/>
<xs:attribute name="linesVisible" type="xs:boolean" default="true"/>
<xs:attribute name="tooltipEnabled" type="xs:boolean" default="true"/>
<xs:attribute name="style" type="xs:string"/>
</xs:complexType>
<xs:complexType name="viewer-items-type">
<xs:sequence>
<xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
<xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
<xs:attribute name="allPredefined" type="xs:boolean" default="false"/>
<xs:attribute name="allDiscovered" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="font-type">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="size" type="xs:int" default="9"/>
<xs:attribute name="style" default="normal">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="normal"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="italic"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="template-type">
<xs:attribute name="pattern" type="xs:string"/>
<xs:attribute name="separator" type="xs:string" default=" "/>
</xs:complexType>
<xs:complexType name="target-type">
<xs:sequence>
<xs:element name="match" maxOccurs="unbounded" type="rm:match-type"/>
<xs:element name="test" minOccurs="0" maxOccurs="unbounded" type="rm:test-type"/>
<xs:element name="else" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="add" type="rm:add-type"/>
<xs:element name="append" type="rm:append-type"/>
<xs:element name="put" type="rm:put-type"/>
<xs:element name="set" type="rm:set-type"/>
<xs:element name="throw" type="rm:throw-type"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ref" type="xs:string"/>
<xs:attribute name="matchAll" type="xs:boolean" default="false"/>
<xs:attribute name="allowOverwrites" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="match-type">
<xs:sequence>
<xs:element name="expression" minOccurs="0" type="rm:regex-type"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="add" type="rm:add-type"/>
<xs:element name="append" type="rm:append-type"/>
<xs:element name="put" type="rm:put-type"/>
<xs:element name="set" type="rm:set-type"/>
<xs:element name="throw" type="rm:throw-type"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="moveToTop" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="column-data-type">
<xs:sequence>
<xs:element name="font" minOccurs="0" type="rm:font-type"/>
<xs:element name="tooltip" minOccurs="0" type="xs:string"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="width" type="xs:int" default="-1"/>
<xs:attribute name="alignment" type="xs:string"/>
<xs:attribute name="resizable" type="xs:boolean" default="false"/>
<xs:attribute name="moveable" type="xs:boolean" default="false"/>
<xs:attribute name="foreground" type="xs:string"/>
<xs:attribute name="background" type="xs:string"/>
</xs:complexType>
<xs:complexType name="set-type">
<xs:sequence>
<xs:element name="entry" minOccurs="0" type="rm:entry-type"/>
</xs:sequence>
<xs:attribute name="field" type="xs:string"/>
<xs:attribute name="forceNewObject" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="throw-type">
<xs:sequence>
<xs:element name="entry" minOccurs="0" type="rm:entry-type"/>
</xs:sequence>
<xs:attribute name="field" type="xs:string"/>
<xs:attribute name="message" type="xs:string"/>
</xs:complexType>
<xs:complexType name="add-type">
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded" type="rm:entry-type"/>
</xs:sequence>
<xs:attribute name="field" type="xs:string"/>
<xs:attribute name="forceNewObject" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="append-type">
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded" type="rm:entry-type"/>
</xs:sequence>
<xs:attribute name="field" type="xs:string"/>
<xs:attribute name="separator" type="xs:string"/>
<xs:attribute name="forceNewObject" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="put-type">
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded" type="rm:entry-type"/>
</xs:sequence>
<xs:attribute name="field" type="xs:string"/>
<xs:attribute name="forceNewObject" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="entry-type">
<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-type">
<xs:sequence>
<xs:element name="test" minOccurs="0" maxOccurs="unbounded" type="rm:test-type"/>
<xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="2"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="add" type="rm:add-type"/>
<xs:element name="append" type="rm:append-type"/>
<xs:element name="put" type="rm:put-type"/>
<xs:element name="set" type="rm:set-type"/>
<xs:element name="throw" type="rm:throw-type"/>
</xs:choice>
<xs:element name="else" minOccurs="0">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="add" type="rm:add-type"/>
<xs:element name="append" type="rm:append-type"/>
<xs:element name="put" type="rm:put-type"/>
<xs:element name="set" type="rm:set-type"/>
<xs:element name="throw" type="rm:throw-type"/>
</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="control-state-type">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="show-if" minOccurs="0" type="rm:control-state-rule-type"/>
<xs:element name="hide-if" minOccurs="0" type="rm:control-state-rule-type"/>
</xs:choice>
<xs:choice minOccurs="0">
<xs:element name="enable-if" minOccurs="0" type="rm:control-state-rule-type"/>
<xs:element name="disable-if" minOccurs="0" type="rm:control-state-rule-type"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="control-state-rule-type">
<xs:choice>
<xs:element name="not" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="rule" type="rm:control-state-rule-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="and" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="rule" maxOccurs="unbounded" type="rm:control-state-rule-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="or" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="rule" maxOccurs="unbounded" type="rm:control-state-rule-type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="button" type="xs:string"/>
<xs:attribute name="selected" type="xs:boolean" default="true"/>
<xs:attribute name="attribute" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="monitor-type">
<xs:sequence>
<xs:element name="driver" minOccurs="0" maxOccurs="unbounded" type="rm:monitor-driver-type"/>
<xs:element name="workflow" minOccurs="0" maxOccurs="unbounded" type="rm:workflow-type"/>
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="lml:layout_root"/>
</xs:sequence>
<xs:attribute name="schedulerType" type="xs:string"/>
<xs:attribute name="refreshFrequencyInSeconds" type="xs:int" default="60"/>
</xs:complexType>
<xs:complexType name="monitor-driver-type">
<xs:choice>
<xs:element name="url" type="xs:string"/>
<xs:sequence>
<xs:element name="name" minOccurs="0" type="xs:string"/>
<xs:element name="path" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
<xs:element name="args" minOccurs="0" maxOccurs="unbounded" type="rm:arg-type"/>
<xs:element name="cmd" minOccurs="0" maxOccurs="unbounded" type="rm:simple-command-type"/>
</xs:sequence>
</xs:choice>
</xs:complexType>
<xs:complexType name="workflow-type">
<xs:sequence>
<xs:element name="vardefs" minOccurs="0" maxOccurs="unbounded" type="rm:vardefs-type"/>
<xs:element name="managed-files" minOccurs="0" maxOccurs="unbounded" type="rm:managed-files-type"/>
<xs:element name="step" minOccurs="0" maxOccurs="unbounded" type="rm:step-type"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="vardefs-type">
<xs:choice>
<xs:element name="var" minOccurs="0" maxOccurs="unbounded" type="rm:var-type"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="var-type">
<xs:attribute name="key" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="step-type">
<xs:choice>
<xs:element name="cmd" minOccurs="0" maxOccurs="unbounded" type="rm:simple-command-type"/>
</xs:choice>
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="active" type="xs:string"/>
<xs:attribute name="exec_after" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
</xs:complexType>
</xs:schema>