<?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/">
<!--
    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://pdfbox.apache.org">
    <created>2010-12-19</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache PDFBox</name>
    <homepage rdf:resource="http://pdfbox.apache.org" />
    <asfext:pmc rdf:resource="http://pdfbox.apache.org" />
    <shortdesc>The Apache PDFBox library is an open source Java tool for working with PDF documents.</shortdesc>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/PDFBOX" />
    <mailing-list rdf:resource="http://pdfbox.apache.org/mail-lists.html" />
    <download-page rdf:resource="http://pdfbox.apache.org/download.html" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/content" />
    <category rdf:resource="http://projects.apache.org/category/library" />
    <release>
      <Version>
        <name>Apache PDFBox</name>
        <created>2013-04-10</created>
        <revision>1.8.1</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2013-03-23</created>
        <revision>1.8.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2012-07-25</created>
        <revision>1.7.1</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2012-05-29</created>
        <revision>1.7.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2011-07-02</created>
        <revision>1.6.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2011-03-03</created>
        <revision>1.5.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2010-12-20</created>
        <revision>1.4.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2010-10-26</created>
        <revision>1.3.1</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2010-07-11</created>
        <revision>1.2.1</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2010-06-29</created>
        <revision>1.2.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2010-03-29</created>
        <revision>1.1.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox</name>
        <created>2010-02-15</created>
        <revision>1.0.0</revision>
      </Version>
      <Version>
        <name>Apache PDFBox (incubating)</name>
        <created>2009-09-23</created>
        <revision>0.8.0-incubator</revision>
      </Version>
    </release>
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/pdfbox"/>
        <browse rdf:resource="http://svn.apache.org/viewvc/pdfbox"/>
      </SVNRepository>
    </repository>
    <asfext:implements><asfext:Standard>
      <asfext:title>Portable document format (PDF)</asfext:title>
      <asfext:body>Adobe Systems Incorporated</asfext:body>
      <asfext:id>ISO 32000-1</asfext:id>
      <asfext:url rdf:resource="http://www.adobe.com/devnet/pdf/pdf_reference.html"/>
    </asfext:Standard></asfext:implements>
  </Project>
</rdf:RDF>
