<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<xsd:schema xmlns="http://camel.apache.org/schema/spring/integration"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:camel-spring="http://camel.apache.org/schema/spring"
  targetNamespace="http://camel.apache.org/schema/spring/integration"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified">

  <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
  <xsd:import namespace="http://camel.apache.org/schema/spring" schemaLocation="http://camel.apache.org/schema/spring/camel-spring.xsd"/>

  <xsd:complexType name="camelEndpointType">
  	<xsd:sequence>
  		<xsd:element ref="camel-spring:camelContext" minOccurs="0" />
  		<xsd:element name="camelContextRef" type="xsd:string" minOccurs="0" />
  	</xsd:sequence>
  	<xsd:attribute name="id" type="xsd:ID" use="required" />
  	<xsd:attribute name="camelEndpointUri" type="xsd:string" />
  	<xsd:attribute name="replyChannel" type="xsd:string" />
  	<xsd:attribute name="expectReply" type="xsd:boolean" default="true"/>
  </xsd:complexType>

  <xsd:element name="camelSource">
     <xsd:complexType>
        <xsd:annotation>
			<xsd:documentation>
	          Defines a camel-source for handling the Camel context message in Spring Integration message bus.
			</xsd:documentation>
		</xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="camelEndpointType">
           <xsd:attribute name="requestChannel" type="xsd:string" use="required" />	       
		  </xsd:extension>
		</xsd:complexContent>
     </xsd:complexType>
  </xsd:element>

  <xsd:element name="camelTarget" type="camelEndpointType">
        <xsd:annotation>
			<xsd:documentation>
	          Defines a camel-target to feed Spring Integration message to the Camel context.
			</xsd:documentation>
		</xsd:annotation>
  </xsd:element>
</xsd:schema>
