<?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://struts.apache.org">
    <created>2014-04-11</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Struts</name>
    <homepage rdf:resource="http://struts.apache.org" />
    <asfext:pmc rdf:resource="http://struts.apache.org" />
    <shortdesc>Apache Struts is a free open-source framework for creating Java web applications.</shortdesc>
    <description>The Apache Struts Project offers the Apache Struts 2 web framework which is a comprehensive and modular tooling stack for creating web-based Java applications. Struts 2, emerged from the WebWork 2 framework, is an excellent choice for teams who value elegant solutions to difficult problems. </description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/WW/" />
    <mailing-list rdf:resource="http://struts.apache.org/mail.html" />
    <download-page rdf:resource="http://struts.apache.org/releases.html" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/web-framework" />
  </Project>
</rdf:RDF>
