<?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="jSieve">

    <skin>
        <groupId>org.apache.james</groupId>
        <artifactId>james-skin</artifactId>
        <version>${james-skin.version}</version>
    </skin>

  <bannerLeft>
    <name>JAMES jSieve</name>
    <src>images/james-logo.png</src>
    <href>http://james.apache.org/</href>
    <alt>james-logo.png</alt>
  </bannerLeft>

  <bannerRight>
    <name>The Apache Software Foundation</name>
    <src>images/logos/asf_logo_small.png</src>
    <href>http://www.apache.org/index.html</href>
  </bannerRight>

  <body>

        <links>
            <item
                name="Home"
                href="http://james.apache.org/index.html" />
            <item
                name="James"
                href="http://james.apache.org/index.html" />
            <item
                name="Mime4J"
                href="http://james.apache.org/mime4j/index.html" />
            <item
                name="jSieve"
                href="http://james.apache.org/jsieve/index.html" />
            <item
                name="jSPF"
                href="http://james.apache.org/jspf/index.html" />
            <item
                name="jDKIM"
                href="http://james.apache.org/jdkim/index.html" />
            <item
                name="Hupa"
                href="http://james.apache.org/hupa/index.html" />
        </links>
    <menu name="jSieve">
      <item name="Overview" href="/index.html" />
      <item name="Core" href="/core/index.html" />
      <item name="Util" href="/util/index.html" />
      <item name="Changes" href="/jira-report.html" />
      <item name="Release Notes" href="/release-notes.html" />
      <item name="JavaDocs" href="/apidocs/index.html" />
      <item name="Issue Tracker" href="https://issues.apache.org/jira/browse/JSIEVE" />
      <item name="Specification" collapse="false">
        <item name="RFC 2234 ABNF" href="http://www.ietf.org/rfc/rfc2234.txt" />
        <item name="RFC 2244 ACAP" href="http://www.ietf.org/rfc/rfc2244.txt" />
        <item name="RFC 2298 MDN" href="http://www.ietf.org/rfc/rfc2298.txt" />
        <item name="RFC 5228 Sieve" href="http://tools.ietf.org/html/rfc5228" />
        <item name='RFC 4790 IAPCR' href='http://tools.ietf.org/html/rfc4790'/>
        <item name='RFC 5173 Body Extension' href='http://tools.ietf.org/html/rfc5173'/>
      </item>
      <item name="Download Releases" href="http://james.apache.org/download.cgi#Apache_JSieve" />
    </menu>
  </body>
</project>
