<?xml version="1.0" encoding="ISO-8859-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 name="Wicket Date/Time">
	<skin>
		<groupId>org.apache.wicket</groupId>
		<artifactId>wicket-site-skin</artifactId>
		<version>1.0-SNAPSHOT</version>
	</skin>
	<body>
		<menu name="Wicket Date/Time">
			<item name="About" href="/index.html" />
			<item name="Apache Wicket" href="http://wicket.apache.org" />
			<item name="License" href="/license.html" />
		</menu>
		<menu name="Project Info">
	        <item name="Dependencies" href="/dependencies.html"/>
			<item name="Javadoc" href="/apidocs/index.html" target="_blank" class="newwindow" />
			<item name="Mailing Lists" href="/mail-lists.html" />
			<item name="Issue Tracker" href="http://issues.apache.org/jira/browse/WICKET" />
			<item name="SVN Access" href="/source-repository.html" />
		</menu>
	</body>
</project>
