<?xml version="1.0"?>
<?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/">
<!--
   $HeadURL$
   $Revision$
   $Date$

   ====================================================================
   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.
   ====================================================================

   This software consists of voluntary contributions made by many
   individuals on behalf of the Apache Software Foundation.  For more
   information on the Apache Software Foundation, please see
   <http://www.apache.org />.
-->

  <Project rdf:about="http://james.apache.org/mime4j/">
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache James Mime4j</name>
    <homepage rdf:resource="http://james.apache.org/mime4j/" />
    <asfext:pmc rdf:resource="http://james.apache.org" />
    <shortdesc>
Mime4j can be used to parse e-mail message streams in plain rfc822 and MIME format
and to build a tree representation of an e-mail message.
    </shortdesc>
    <description>
Mime4j provides a parser for e-mail message streams in plain rfc822 and MIME format. 
The parser uses a callback mechanism to report parsing events such as the start of 
an entity header, the start of a body. The parser has been designed to be extremely 
tolerant against messages violating the standards. Mime4j can also be used to build 
a tree representation of an e-mail message
    </description>
    <bug-database rdf:resource="http://issues.apache.org/jira/browse/MIME4J" />
    <mailing-list rdf:resource="http://james.apache.org/mime4j/mail-lists.html" />
    <download-page rdf:resource="http://james.apache.org/download.cgi" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/mail" />
    <category rdf:resource="http://projects.apache.org/category/library" />

    <!-- Multiple releases can be listed, each in its own section -->
    <release>
      <Version>
        <name>Apache James Mime4j 0.3</name>
        <created>2007-05-31</created>
        <revision>0.3</revision>
      </Version>
      <Version>
        <name>Apache James Mime4j 0.2</name>
        <created>2006-01-09</created>
        <revision>0.2</revision>
      </Version>
    </release>

    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/james/mime4j/trunk"/>
        <browse rdf:resource="http://svn.apache.org/viewvc/james/mime4j/trunk"/>
      </SVNRepository>
    </repository>

    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Standard for ARPA Internet Text Messages</asfext:title>
        <asfext:body>IETF</asfext:body>
        <asfext:id>RFC 822</asfext:id>
        <asfext:url rdf:resource="http://tools.ietf.org/html/rfc822"/>
      </asfext:Standard>
    </asfext:implements>
    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Internet Message Format</asfext:title>
        <asfext:body>IETF</asfext:body>
        <asfext:id>RFC 2822</asfext:id>
        <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2822"/>
      </asfext:Standard>
    </asfext:implements>
    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</asfext:title>
        <asfext:body>IETF</asfext:body>
        <asfext:id>RFC 2045</asfext:id>
        <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2045"/>
      </asfext:Standard>
    </asfext:implements>
    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</asfext:title>
        <asfext:body>IETF</asfext:body>
        <asfext:id>RFC 2046</asfext:id>
        <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2046"/>
      </asfext:Standard>
    </asfext:implements>
    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Multipurpose Internet Mail Extensions (MIME) Part Three: Message Header Extensions for Non-ASCII Text</asfext:title>
        <asfext:body>IETF</asfext:body>
        <asfext:id>RFC 2047</asfext:id>
        <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2047"/>
      </asfext:Standard>
    </asfext:implements>

  </Project>
</rdf:RDF>
