fteutils.xsd schema file
This schema defines elements and types used by many of the other Managed File Transfer schemas.
Schema
<?xml version="1.0" encoding="UTF-8"?> <!-- @start_non_restricted_prolog@ Version: %Z% %I% %W% %E% %U% [%H% %T%] Licensed Materials - Property of IBM 5724-H72 Copyright IBM Corp. 2008, 2020. All Rights Reserved. disclosure restricted by GSA ADP Schedule Contract with IBM Corp. @end_non_restricted_prolog@ --> <!-- This schema defines elements and types used by many of the other MQMFT schemas. For more information about MQMFT XML message formats, see http://www-01.ibm.com/support/knowledgecenter/SSEP7X_7.0.4/wmqfte/message_formats.htm --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- Defines the version type 1.00 - 99.00 <transaction version= 1.00 --> <xsd:simpleType name="versionType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]+\.[0-9][0-9]"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the transaction reference <transaction version= 1.00 ID="414d5120514d312020202020202020205ecf0a4920011802" --> <xsd:simpleType name="IDType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9a-fA-F]{48}"/> </xsd:restriction> </xsd:simpleType> <!-- This is an alias for hostUserIDType. Here to allow addition of attributes on originator elements --> <xsd:complexType name="origRequestType"> <xsd:complexContent> <xsd:extension base="hostUserIDType"> <xsd:sequence> <xsd:element name="webBrowser" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="webUserID" type="xsd:string" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- Defines a Delete originator as a machine and user pair <hostName>myMachine</hostName> <userName>myUserId</userName> --> <xsd:complexType name="origDeleteType"> <xsd:sequence> <xsd:element name="delete" type="hostUserIDType" maxOccurs="1" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!-- Defines a machine, user, MQMD userID triple <hostName>myMachine</hostName> <userID>myUserId</userID> <mqmdUserID>MQMDUSERID</mqmdUserID> --> <xsd:complexType name="hostUserIDType"> <xsd:sequence> <xsd:element name="hostName" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="mqmdUserID" type="xsd:string" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- Define the destinationAgent with agent and queue manager name <destinationAgent agent="there" QMgr="far" agentType="BRIDGE" bridgeURL="ftp://server.example.net:21" bridgeNode="DEST_NODE"/> optional agentType attribute expected to be one of STANDARD, BRIDGE, WEB_GATEWAY, EMBEDDED, CD_BRIDGE --> <xsd:complexType name="agentType"> <xsd:attribute name="agent" type="xsd:string" use="required"/> <xsd:attribute name="agentType" type="xsd:string" use="optional"/> <xsd:attribute name="QMgr" type="xsd:string" use="optional"/> <xsd:attribute name="bridgeURL" type="xsd:string" use="optional"/> <xsd:attribute name="bridgeNode" type="xsd:string" use="optional"/> <xsd:attribute name="pnode" type="xsd:string" use="optional"/> <xsd:attribute name="snode" type="xsd:string" use="optional"/> </xsd:complexType> <!-- Defines the status type; attr/resultCode and 0 or many supplements There may also be additional command specific data, either: transfer, ping or call data <status resultCode="8011"> <supplement>Azionamento del USB</supplement> <supplement>morto come norweign azzurro</supplement> </status> --> <xsd:complexType name="statusType"> <xsd:sequence> <xsd:element name="supplement" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> <xsd:choice> <xsd:element name="filespace" type="fileSpaceReplyType" minOccurs="0" maxOccurs="1"/> </xsd:choice> </xsd:sequence> <xsd:attribute name="resultCode" type="resultCodeType" use="required"/> </xsd:complexType> <!-- Defines the filespace type for use with communication between a web agent and a web gateway <filespace name="" location=""><Quota bytes=""/></filespace> --> <xsd:complexType name="fileSpaceReplyType"> <xsd:attribute name="name" use="required" type="xsd:string"/> <xsd:attribute name="location" use="required" type="xsd:string"/> <xsd:attribute name="quota" use="required" type="xsd:long"/> </xsd:complexType> <!-- Defines the destinationAgent with agent and queue manager name, plus connection details. <destinationAgent agent="there" QMgr="far"/> --> <xsd:complexType name="agentClientType"> <xsd:attribute name="agent" type="xsd:string" use="required"/> <xsd:attribute name="QMgr" type="xsd:string" use="optional"/> <xsd:attribute name="hostName" type="xsd:string" use="optional"/> <xsd:attribute name="portNumber" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="channel" type="xsd:string" use="optional"/> </xsd:complexType> <!-- Defines the fileURI type as string <file encoding="UTF8" EOL="CR">C:/from/here.txt</file> --> <xsd:complexType name="fileType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="filespace" type="filespaceNameType" use="optional"/> <xsd:attribute name="alias" type="xsd:string" use="optional"/> <xsd:attribute name="encoding" type="encodingType" use="optional"/> <xsd:attribute name="EOL" type="EOLType" use="optional"/> <xsd:attribute name="size" type="xsd:long" use="optional"/> <xsd:attribute name="last-modified" type="xsd:dateTime" use="optional"/> <xsd:attribute name="delimiter" type="xsd:string" use="optional"/> <xsd:attribute name="delimiterType" type="xsd:string" use="optional"/> <xsd:attribute name="delimiterPosition" type="delimiterPositionType" use="optional"/> <xsd:attribute name="includeDelimiterInFile" type="xsd:boolean" use="optional"/> <xsd:attribute name="keepTrailingSpaces" type="xsd:boolean" use="optional"/> <xsd:attribute name="truncateRecords" type="xsd:boolean" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines the filespace type as string <filespace> <name>tarquin</name> </filespace> --> <xsd:complexType name="filespaceType"> <xsd:sequence> <xsd:element name="name" type="filespaceNameType"/> </xsd:sequence> </xsd:complexType> <!-- Defines a name element <name>bob</name> --> <xsd:simpleType name="filespaceNameType"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <!-- Defines the accepted choices for the persistent attribute. --> <xsd:simpleType name="persistenceType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="true"/> <xsd:enumeration value="false"/> <xsd:enumeration value="qdef"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the queueURI type as string with all supported attributes. <queue>QUEUE@QM</queue> --> <xsd:complexType name="queueType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="persistent" type="persistenceType" use="optional"/> <xsd:attribute name="eofMarker" type="xsd:boolean" use="optional"/> <xsd:attribute name="setMqProps" type="xsd:boolean" use="optional"/> <xsd:attribute name="split" type="xsd:boolean" use="optional"/> <xsd:attribute name="useGroups" type="xsd:boolean" use="optional"/> <xsd:attribute name="delimiter" type="xsd:string" use="optional"/> <xsd:attribute name="delimiterType" type="xsd:string" use="optional"/> <xsd:attribute name="delimiterPosition" type="delimiterPositionType" use="optional"/> <xsd:attribute name="includeDelimiterInMessage" type="xsd:boolean" use="optional"/> <xsd:attribute name="groupId" type="groupIdType" use="optional"/> <xsd:attribute name="messageId" type="messageIdType" use="optional"/> <xsd:attribute name="messageCount" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="messageLength" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="waitTime" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="encoding" type="encodingType" use="optional"/> <xsd:attribute name="EOL" type="EOLType" use="optional"/> <xsd:attribute name="unrecognisedCodePage" type="unrecognisedCodePageType" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines the accepted values for the delimiterPosition attribute. --> <xsd:simpleType name="delimiterPositionType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="postfix"/> <xsd:enumeration value="prefix"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the groupId type <queue groupId="414d5120514d312020202020202020205ecf0a4920011802"> Also allow a substitution variable of the form ${variable} --> <xsd:simpleType name="groupIdType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9a-fA-F]{48}|$\{.*\}"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the messageId type <queue messageId="414d5120514d312020202020202020205ecf0a4920011802"> Also allow a substitution variable of the form ${variable} --> <xsd:simpleType name="messageIdType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9a-fA-F]{48}|$\{.*\}"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the accepted values for the unrecognisedCodePage attribute. --> <xsd:simpleType name="unrecognisedCodePageType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="fail"/> <xsd:enumeration value="binary"/> </xsd:restriction> </xsd:simpleType> <!-- Defines a single source file reference <source type="file" recursive="false" disposition="leave"> <file>filename</file> <source/> --> <xsd:complexType name="fileSourceType"> <xsd:sequence> <xsd:choice> <xsd:element name="file" type="fileType"/> <xsd:element name="queue" type="queueType"/> </xsd:choice> </xsd:sequence> <xsd:attribute name="type" type="SourceType" use="optional"/> <xsd:attribute name="recursive" type="xsd:boolean" use="optional"/> <xsd:attribute name="disposition" type="sourceDispositionType" use="optional"/> <xsd:attribute name="correlationString1" type="xsd:string" use="optional"/> <xsd:attribute name="correlationNum1" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="correlationBoolean1" type="xsd:boolean" use="optional"/> </xsd:complexType> <!-- Defines the enumeration values for source type type="file|queue" --> <xsd:simpleType name="SourceType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="file"/> <xsd:enumeration value="directory"/> <xsd:enumeration value="queue"/> <xsd:enumeration value="dataset"/> <xsd:enumeration value="pds"/> <xsd:enumeration value="filespace"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for source disposition disposition="leave|delete" --> <xsd:simpleType name="sourceDispositionType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="leave"/> <xsd:enumeration value="delete"/> </xsd:restriction> </xsd:simpleType> <!-- Defines a single destination file reference <destination type="file" exist="overwrite"> <file>filename</file> <destination/> --> <xsd:complexType name="fileDestinationType"> <xsd:sequence> <xsd:choice> <xsd:element name="file" type="fileType"/> <xsd:element name="filespace" type="filespaceType"/> <xsd:element name="queue" type="queueType"/> </xsd:choice> <xsd:element name="attributes" type="attributeType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="type" type="DestinationType" use="optional"/> <xsd:attribute name="exist" type="existType" use="optional"/> <xsd:attribute name="correlationString1" type="xsd:string" use="optional"/> <xsd:attribute name="correlationNum1" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="correlationBoolean1" type="xsd:boolean" use="optional"/> </xsd:complexType> <!-- Defines the enumeration values for destination file type type="file|directory|queue|dataset|pds|filespace" 'dataset' and 'pds' only apply to z/OS environments. --> <xsd:simpleType name="DestinationType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="file"/> <xsd:enumeration value="directory"/> <xsd:enumeration value="queue"/> <xsd:enumeration value="dataset"/> <xsd:enumeration value="pds"/> <xsd:enumeration value="filespace"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumerations values for file exists on destination behavior exist="error|overwrite" --> <xsd:simpleType name="existType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="error"/> <xsd:enumeration value="overwrite"/> </xsd:restriction> </xsd:simpleType> <!-- Defines one or more file attributes <destination encoding=? CFLF=?> <file>filename</file> <attributes> <attribute>DIST(MIRRORED,UPDATE)</attribute> </attributes> <destination/> --> <xsd:complexType name="attributeType"> <xsd:sequence> <xsd:element name="attribute" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- Defines a single file reference <source encodings=? CFLF=?> <file>filename</file> <checksum method="MD5">3445678</checksum> <source/> .. or .. <destination encoding=? CFLF=?> <file>filename</file> <checksum method="MD5">3445678</checksum> <destination/> --> <xsd:complexType name="fileCheckSumType"> <xsd:sequence> <xsd:element name="file" type="fileType"/> <xsd:element name="checksum" type="checksumType" maxOccurs="1" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!-- Defines the checksum type and method <checksum method="MD5|none">3445678</checksum> --> <xsd:complexType name="checksumType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="method" type="checkSumMethod" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines the enumeration values for checksumMethod <checksum method="MD5|none">3445678</checksum> Note: uppercase is used because MD5 is an acronym and normally written uppercase. --> <xsd:simpleType name="checkSumMethod"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="none"/> <xsd:enumeration value="MD5"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for agentRole agentRole="sourceAgent|destinationAgent" --> <xsd:simpleType name="agentRoleType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="sourceAgent"/> <xsd:enumeration value="destinationAgent"/> <xsd:enumeration value="callAgent"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for mode. text, binary or a substitution variable <item mode="binary|text||${variableName}"> --> <xsd:simpleType name="modeType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="binary|text|$\{.*\}"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for EOL <file EOL="LF|CRLF"> --> <xsd:simpleType name="EOLType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="LF"/> <xsd:enumeration value="CRLF"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the encoding type as a string --> <xsd:simpleType name="encodingType"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <!-- <schedule> <submit timebase="source"|"admin">2008-12-07T16:07"</submit> <repeat> <frequency interval="hours">2</frequency> <expireTime>2008-12-0816:07</exipreTime> </repeat> </schedule> --> <xsd:complexType name="scheduleType"> <xsd:sequence> <xsd:element name="submit" type="submitType" maxOccurs="1" minOccurs="1"/> <xsd:element name="repeat" type="repeatType" maxOccurs="1" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!-- <submit timebase="source|admin|UTC">2008-12-07T16:07"</submit> --> <xsd:complexType name="submitType"> <xsd:simpleContent> <xsd:extension base="noZoneTimeType"> <xsd:attribute name="timebase" type="timebaseType" use="required"/> <xsd:attribute name="timezone" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- <repeat> <frequency interval="hours">2</frequency> ..optionally.. <expireTime>2008-12-0816:07</expireTime> ..or.. <expireCount>2</expireCount> </repeat> --> <xsd:complexType name="repeatType"> <xsd:sequence> <xsd:element name="frequency" type="freqType" maxOccurs="1" minOccurs="1"/> <xsd:choice minOccurs="0"> <xsd:element name="expireTime" type="noZoneTimeType"/> <xsd:element name="expireCount" type="positiveIntegerType"/> </xsd:choice> </xsd:sequence> </xsd:complexType> <!-- <frequency interval="hours">2</frequency> --> <xsd:complexType name="freqType"> <xsd:simpleContent> <xsd:extension base="positiveIntegerType"> <xsd:attribute name="interval" type="intervalType" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines positive integer type i.e., 1+ --> <xsd:simpleType name="positiveIntegerType"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="1"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the interval enumeration values of "minutes","hours","days", "weeks", "months" or "years" --> <xsd:simpleType name="intervalType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="minutes"/> <xsd:enumeration value="hours"/> <xsd:enumeration value="days"/> <xsd:enumeration value="weeks"/> <xsd:enumeration value="months"/> <xsd:enumeration value="years"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the interval of either "source","admin" or "UTC" source = use timezone of the source Agent. admin = use timezone of the administrator executing the command script. UTC = Timezone is UTC. --> <xsd:simpleType name="timebaseType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="source"/> <xsd:enumeration value="admin"/> <xsd:enumeration value="UTC"/> </xsd:restriction> </xsd:simpleType> <!-- Defines a date and time without a time zone (2008-12-08T16:07) --> <xsd:simpleType name="noZoneTimeType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[\n\r\t ]*\d{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3]):[0-5][0-9]([\+\-]\d{4}|Z)?[\n\r\t ]*"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the ID element, e.g. 56 --> <xsd:simpleType name="idType"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <!-- Defines the resultCode type -2 - 9999 <status resultCode="8011"> --> <xsd:simpleType name="resultCodeType"> <xsd:restriction base="xsd:int"> <xsd:minInclusive value="-2"/> <xsd:maxInclusive value="9999"/> </xsd:restriction> </xsd:simpleType> <!-- Define the metaDataSet type comprising one or more key value pairs <metaDataSet> <metaData key="name">value</metaData> <metaData key="name">value</metaData> </metaDataSet> --> <xsd:complexType name="metaDataSetType"> <xsd:sequence> <xsd:element name="metaData" type="metaDataType" maxOccurs="unbounded" minOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- Define the metaData type which is made up of a key and a value <metaData key="name">value</metaData> --> <xsd:complexType name="metaDataType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="key" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines containing element for triggers <trigger log="yes"> <fileExist comparison="=" value="Exist">file1</fileExist> <fileSize comparison=">=" value="1GB">file1</fileSize> </trigger> --> <xsd:complexType name="triggerType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="fileExist" type="fileExistTriggerType" maxOccurs="unbounded" minOccurs="1"/> <xsd:element name="fileSize" type="fileSizeTriggerType" maxOccurs="unbounded" minOccurs="1"/> </xsd:choice> <xsd:attribute name="log" type="logEnabledType" use="required"/> </xsd:complexType> <!-- Defines the file exists trigger type <fileExist comparison="=" value="Exist">file1</trigger> --> <xsd:complexType name="fileExistTriggerType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="comparison" type="comparisonFileExistTriggerType" use="required"/> <xsd:attribute name="value" type="valueFileExistTriggerType" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines file size trigger type <fileSize comparison="=" value="1GB">file1,file2,file3</trigger> --> <xsd:complexType name="fileSizeTriggerType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="comparison" type="comparisonFileSizeTriggerType" use="required"/> <xsd:attribute name="value" type="valueFileSizeTriggerType" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines the enumeration values for file exists trigger conditions valueFileExistTriggerType="exist|noexist" --> <xsd:simpleType name="valueFileExistTriggerType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="exist"/> <xsd:enumeration value="noexist"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for file exists trigger comparison operator comparisonFileExistTriggerType="="|"!=" --> <xsd:simpleType name="comparisonFileExistTriggerType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="="/> <xsd:enumeration value="!="/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for file size trigger comparison operator comparisonFileSizeTriggerType=">=" --> <xsd:simpleType name="comparisonFileSizeTriggerType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="&gt;="/> </xsd:restriction> </xsd:simpleType> <!-- Defines the file size value pattern <fileSize comparison=">=" value="10|10B|10KB|10MB|10GB">file1</fileSize> --> <xsd:simpleType name="valueFileSizeTriggerType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0123456789]+([bB]|[kK][bB]|[mM][bB]|[gG][bB]|)"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the enumeration values for trigger logging enabled flag <trigger log="yes|no"> --> <xsd:simpleType name="logEnabledType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="yes"/> <xsd:enumeration value="no"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the reply type <reply QMGR="QMGR name" persistent="true">Queue Name</reply> --> <xsd:complexType name="replyType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="QMGR" type="xsd:string" use="required"/> <xsd:attribute name="persistent" type="persistenceType" use="optional"/> <xsd:attribute name="detailed" type="detailedType" use="optional" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- Defines the accepted choices for the detailed attribute. --> <xsd:simpleType name="detailedType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="true"/> <xsd:enumeration value="false"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the priority type <transferset priority="1"> --> <xsd:simpleType name="priorityType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0123456789]"/> </xsd:restriction> </xsd:simpleType> <!-- Define the job information element <job> <name>JOBNAME</name> </job> --> <xsd:complexType name="jobType"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <!-- Defines an action <action> <runCommand name="myCommand.sh" /> </action> --> <xsd:complexType name="commandActionType"> <xsd:choice> <xsd:element name="command" type="commandType" maxOccurs="1" minOccurs="0"/> </xsd:choice> </xsd:complexType> <!-- Defines a command <command name="runme" successRC="0" maxReplyLength="1024"> <argument>firstArg</argument> <argument>secondArg</argument> </command> --> <xsd:complexType name="commandType"> <xsd:sequence> <xsd:element name="argument" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> <xsd:element name="target" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> <xsd:element name="property" type="propertyType" maxOccurs="unbounded" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="successRC" type="xsd:string" use="optional"/> <xsd:attribute name="retryCount" type="nonNegativeIntegerType" use="optional"/> <xsd:attribute name="retryWait" type="nonNegativeIntegerType" use="optional"/> <xsd:attribute name="type" type="callTypeType" use="optional"/> <xsd:attribute name="priority" type="commandPriorityType" use="optional"/> <xsd:attribute name="message" type="xsd:string" use="optional"/> </xsd:complexType> <!-- Defines the enumeration values for the type of a command type="executable|antscript|jcl" --> <xsd:simpleType name="callTypeType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="executable"/> <xsd:enumeration value="antscript"/> <xsd:enumeration value="jcl"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the priority type for a command priority="5" --> <xsd:simpleType name="commandPriorityType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[123456789]"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the property type that is used as a child of commandType <property name="xxx" value="yyy"/> --> <xsd:complexType name="propertyType"> <xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="value" type="xsd:string" use="required"/> </xsd:complexType> <!-- Defines a non-negative integer type --> <xsd:simpleType name="nonNegativeIntegerType"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="0"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the transfer command specific reply information, to be included as part the general reply <transferReply> <preSourceData> <runCommandReply resultCode="0"> <stdout> <line>the quick brown fox jumped over the lazy dog</line> </stdout> <stderr></stderr> </runCommandReply> </preSourceData> </transferReply> --> <xsd:complexType name="transferReplyType"> <xsd:sequence> <xsd:element name="preSourceData" type="actionReplyType" minOccurs="0" maxOccurs="1"/> <xsd:element name="postSourceData" type="actionReplyType" minOccurs="0" maxOccurs="1"/> <xsd:element name="preDestinationData" type="actionReplyType" minOccurs="0" maxOccurs="1"/> <xsd:element name="postDestinationData" type="actionReplyType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- Define the action reply type information <actionReply> <runCommandReply resultCode="1"> <stdout></stdout> <stderr> <line>permission denied</line> </stderr> </runCommandReply> </actionReply> --> <xsd:complexType name="actionReplyType"> <xsd:choice> <xsd:element name="runCommandReply" type="commandReplyType" maxOccurs="1" minOccurs="0"/> </xsd:choice> </xsd:complexType> <!-- Defines command specific reply information, to be included as part the general reply <commandReply resultCode="0"> <stdout> <line>first line of output text</line> <line>second line of output text</line> </stdout> <stderr> <line>line of error text</line> </stderr> </commandReply> --> <xsd:complexType name="commandReplyType"> <xsd:sequence> <xsd:element name="stdout" type="textLinesType" maxOccurs="1" minOccurs="1"/> <xsd:element name="stderr" type="textLinesType" maxOccurs="1" minOccurs="1"/> </xsd:sequence> <xsd:attribute name="resultCode" type="xsd:int" use="required"/> </xsd:complexType> <!-- Defines type for lines of text --> <xsd:complexType name="textLinesType"> <xsd:sequence> <xsd:element name="line" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!-- Defines the ping agent command specific reply information, to be included as part the general reply <pingAgentReply resultCode="0"> <agentVersion>Build level: f000-20090408-1200</agentVersion> </pingAgentReply> --> <xsd:complexType name="pingAgentReplyType"> <xsd:sequence> <xsd:element name="agentVersion" type="xsd:string" maxOccurs="1" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!-- Defines sequence of exit elements <exit ... <exit ... --> <xsd:complexType name="exitGroupType"> <xsd:sequence> <xsd:element name="exit" type="exitType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <!-- Defines the outcome of calling a command <command ... <callResult ... --> <xsd:complexType name="callGroupType"> <xsd:sequence> <xsd:element name="command" type="commandType" minOccurs="1" maxOccurs="1"/> <xsd:element name="callResult" type="callResultType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- Defines eiter the successful call of a command, or a failed attempt to call a commad <callResultType outcome="success|failure|error" retries="X"> <result ... /> </callResultType> --> <xsd:complexType name="callResultType"> <xsd:sequence> <xsd:element name="result" type="resultType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="returnCode" type="xsd:integer" use="optional"/> <xsd:attribute name="retries" type="xsd:integer" use="optional"/> <xsd:attribute name="outcome" type="outcomeType" use="required"/> </xsd:complexType> <!-- Defines the information recorded for the successfull call of a command <result...> <stdout... <stderr... <error... </result...> --> <xsd:complexType name="resultType"> <xsd:sequence> <xsd:element name="stdout" type="outputType" minOccurs="0" maxOccurs="1"/> <xsd:element name="stderr" type="outputType" minOccurs="0" maxOccurs="1"/> <xsd:element name="error" type="xsd:string" maxOccurs="1" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="returnCode" type="xsd:integer" use="optional"/> <xsd:attribute name="outcome" type="outcomeType" use="required"/> <xsd:attribute name="time" type="xsd:dateTime" use="required"/> </xsd:complexType> <!-- Enumeration of call outcomes - success, failure or error --> <xsd:simpleType name="outcomeType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="success"/> <xsd:enumeration value="failure"/> <xsd:enumeration value="error"/> </xsd:restriction> </xsd:simpleType> <!-- Defines the information recorded for each line of standard output / standard error generated by calling a program <line>line 1</line> <line>line 2</line> etc. --> <xsd:complexType name="outputType"> <xsd:sequence> <xsd:element name="line" type="xsd:string" maxOccurs="unbounded" minOccurs="1"/> </xsd:sequence> </xsd:complexType> <!-- Defines the information recorded for an unsuccessful program call. --> <xsd:complexType name="callFailedType"> <xsd:simpleContent> <xsd:extension base="xsd:string"/> </xsd:simpleContent> </xsd:complexType> <!-- Defines the exit type; records the transfer exit class name and a status message <exit name="class com.example.exit.StartExit"> <status ... </exit> --> <xsd:complexType name="exitType"> <xsd:sequence> <xsd:element name="status" type="exitStatusType" minOccurs="1" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <!-- Defines exit status to record whether exit voted to proceed or cancel transfer. <status resultCode="proceed"> <supplement>go ahead</supplement> </status> --> <xsd:complexType name="exitStatusType"> <xsd:sequence> <xsd:element name="supplement" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="resultCode" type="exitResultEnumType" use="optional"/> </xsd:complexType> <!-- Defines the enumeration for transfer exit result values. <status resultCode="proceed"> --> <xsd:simpleType name="exitResultEnumType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="proceed"/> <xsd:enumeration value="cancelTransfer"/> <xsd:enumeration value="cancelTask"/> </xsd:restriction> </xsd:simpleType> </xsd:schema>Note: From Version 9.0, Managed File Transfer does not support the Web Gateway or web agents. Parent topic: XML message formats used by MFT
Related concepts