<?xml version="1.0"?>
<!--
  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.
-->

<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
  =======================================================================

   Copyright (c) 2006 The Apache Software Foundation.  
   All rights reserved.

  =======================================================================
-->
  <Project rdf:about="http://ActiveMQ.rdf.apache.org/">
    <created>2007-03-19</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Camel</name>
    <homepage rdf:resource="http://activemq.apache.org/camel" />
    <asfext:pmc rdf:resource="http://activemq.apache.org/camel" />
    <shortdesc>Apache Camel is a powerful rule based routing and mediation engine.</shortdesc>
    <description>Apache Camel is a powerful rule based routing and mediation engine which provides a POJO based implementation of the Enterprise Integration Patterns using an extremely powerful fluent API (or declarative Java Domain Specific Language) to configure routing and mediation rules. The Domain Specific Language means that Apache Camel can support type-safe smart completion of routing rules in your IDE using regular Java code without huge amounts of XML configuration files; though Xml Configuration inside Spring is also supported.</description>
    <bug-database rdf:resource="http://issues.apache.org/activemq/browse/CAMEL" />
    <mailing-list rdf:resource="http://activemq.apache.org/camel/mailing-lists.html" />
    <download-page rdf:resource="http://activemq.apache.org/camel/download.html" />

    <programming-language>Java</programming-language>

    <category rdf:resource="http://projects.apache.org/category/network-client" />
    <category rdf:resource="http://projects.apache.org/category/library" />

    <maintainer>
      <foaf:Person>
        <foaf:name>Hiram Chirino</foaf:name>
          <foaf:mbox rdf:resource="mailto:chirino@apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
