diff --git a/doap_digester.rdf b/doap_digester.rdf
deleted file mode 100644
index 74622c2..0000000
--- a/doap_digester.rdf
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0"?>
-<rdf:RDF 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:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:doap="http://usefulinc.com/ns/doap#" xml:lang="en">
-<!--
-   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.
--->
-  <Project rdf:about="http://commons.apache.org/digester/">
-    <name>Apache Commons Digester</name>
-    <homepage rdf:resource="http://commons.apache.org/digester/"/>
-    <programming-language>Java</programming-language>
-    <category rdf:resource="http://projects.apache.org/category/library"/>
-    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20"/>
-    <bug-database rdf:resource="http://issues.apache.org/jira/browse/DIGESTER"/>
-    <download-page rdf:resource="http://commons.apache.org/digester/download_digester.cgi"/>
-    <asfext:pmc rdf:resource="http://commons.apache.org/"/>
-    <shortdesc xml:lang="en">Rule based XML-&gt;Java object mapping module</shortdesc>
-    <description xml:lang="en">
-    The Digester package lets you configure an XML-&gt;Java object mapping module
-    which triggers certain actions called rules whenever a particular 
-    pattern of nested XML elements is recognized.
-  </description>
-    <repository>
-      <SVNRepository>
-        <browse rdf:resource="http://svn.apache.org/repos/asf/commons/proper/digester/trunk"/>
-        <location rdf:resource="http://svn.apache.org/repos/asf/commons/proper/digester"/>
-      </SVNRepository>
-    </repository>
-    <release>
-      <Version>
-        <name>common-digester3</name>
-        <created>2011-12-13</created>
-        <revision>3.2</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester3</name>
-        <created>2011-10-29</created>
-        <revision>3.1</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester3</name>
-        <created>2011-07-06</created>
-        <revision>3.0</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester</name>
-        <created>2010-09-25</created>
-        <revision>2.1</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester</name>
-        <created>2009-01-04</created>
-        <revision>2.0</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester</name>
-        <created>2009-01-04</created>
-        <revision>1.8.1</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester</name>
-        <created>2006-12-04</created>
-        <revision>1.8</revision>
-      </Version>
-    </release>
-    <release>
-      <Version>
-        <name>common-digester</name>
-        <created>2005-06-11</created>
-        <revision>1.7</revision>
-      </Version>
-    </release>
-    <mailing-list rdf:resource="http://commons.apache.org/mail-lists.html"/>
-  </Project>
-</rdf:RDF>
