<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<!--
   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.
-->
<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#">
  <Project rdf:about="http://abdera.apache.org/">
    <created>2008-12-25</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Abdera</name>
    <homepage rdf:resource="http://abdera.apache.org" />
    <asfext:pmc rdf:resource="http://abdera.apache.org" />
    <shortdesc>An open source Atom implementation</shortdesc>
    <description>The goal of the Apache Abdera project is to build a functionally-complete, high-performance implementation of the IETF Atom Syndication Format (RFC 4287) and Atom Publishing Protocol (RFC 5023) specifications.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/ABDERA" />
    <mailing-list rdf:resource="http://abdera.apache.org/project.html#lists" />
    <download-page rdf:resource="http://abdera.apache.org/#downloads" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/xml" />
    <release>
      <Version>
        <name>Apache Abdera 0.4</name>
        <created>2008-04-11</created>
        <revision>1.7.1</revision>
      </Version>
    </release>
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/abdera"/>
        <browse rdf:resource="http://svn.apache.org/viewvc/abdera"/>
      </SVNRepository>
    </repository>
  </Project>
</rdf:RDF>