<?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://logging.apache.org/log4cxx">
		<name>Apache log4cxx</name>
		<shortdesc>Apache log4cxx provides logging services for C++.</shortdesc>
		<created>2007-02-09</created>

		<programming-language>C</programming-language>
		<license	rdf:resource="http://usefulinc.com/doap/licenses/asl20"		/>
		<homepage	rdf:resource="http://logging.apache.org/log4cxx"			/>
		<category	rdf:resource="http://projects.apache.org/category/library"	/>
		<asfext:pmc	rdf:resource="http://logging.apache.org"					/>

		<bug-database	rdf:resource="http://issues.apache.org/jira/browse/LOGCXX"			/>
		<mailing-list	rdf:resource="http://logging.apache.org/log4cxx/mail-lists.html"	/>
		<download-page	rdf:resource="http://logging.apache.org/log4cxx/download.html"		/>
		<repository>
			<Repository>
				<location	rdf:resource="git:https://git-wip-us.apache.org/repos/asf/logging-log4cxx.git"			/>
				<browse		rdf:resource="https://git-wip-us.apache.org/repos/asf?p=logging-log4cxx.git;a=summary"	/>
			</Repository>
		</repository>
	</Project>
</rdf:RDF>
