#
# 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.
#

http\://camel.apache.org/schema/spring/integration/camel-spring-integration.xsd=schema/camel-spring-integration.xsd

http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.0.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.1.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.2.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.3.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.4.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.5.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.6.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.7.0.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.7.1.xsd=schema/camel-spring-integration.xsd
http\://camel.apache.org/schema/spring/integration/camel-spring-integration-${pom.version}.xsd=schema/camel-spring-integration.xsd
