<xsd:schema  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified">

<xsd:include schemaLocation="common_trans.xsd"/>
<xsd:include schemaLocation="obj_file_transfer.xsd"/>
	
	<xsd:element name="HEADER_TYPE"  type="HttpHeaderType" />
	<xsd:element name="REMOTE_PATH"  type="xsd:string" />
	<xsd:element name="LOCAL_PATH"   type="xsd:string" />
	
	<xsd:simpleType name="HttpHeaderType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="POST" />  
			<xsd:enumeration value="GET" />
			<xsd:enumeration value="PUT" />
			<xsd:enumeration value="DELETE" />
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:element name="TRANS_FILE_TRANSFER">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="TRANS_COMMON_PARAMS" />
				<xsd:choice>
					<xsd:group ref="ACTIONS" />
					<xsd:element ref="ACTION" />
				</xsd:choice>
				<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="PUT">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="REMOTE_PATH" />
				<xsd:element ref="LOCAL_PATH" minOccurs="0" />
				<xsd:element ref="FILE_CONTENT" minOccurs="0" />
				<xsd:element ref="BYTE_CONTENT" minOccurs="0" />
				<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="GET">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="REMOTE_PATH" />
				<xsd:element ref="LAST_MODIFIED" minOccurs="0" />
				<xsd:element ref="ETAG" minOccurs="0" />
				<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DELETE">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="REMOTE_PATH" />
				<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:group name="ACTIONS">
		<xsd:choice>
			<xsd:element ref="PUT" />
			<xsd:element ref="GET" />
			<xsd:element ref="DELETE" />
		</xsd:choice>
	</xsd:group>
	<xsd:element name="ACTION">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:group ref="ACTIONS" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
