<?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.
-->

<!--
  - Note regarding relative and absolute urls: each pom file has an optional
  - <url> element. If specified, then any absolute url in this file which
  - starts with the project's url is converted into a relative url. Other
  - urls are left unaltered.
  -->
<project name="MyFaces Core JSF-1.2">
    <bannerLeft>
        <name>Apache MyFaces</name>
        <src>img/banners/MyFaces_logo.jpg</src>
        <href>http://myfaces.apache.org/index.html</href>
    </bannerLeft>
    
    <bannerRight>
        <name>Apache Banner</name>
        <src>img/banners/apache_banner.png</src>
        <href>http://www.apache.org</href>
    </bannerRight>
    
    <publishDate format="dd MMM yyyy" />
    
    <skin>
      	<groupId>org.apache.myfaces.maven</groupId>
      	<artifactId>myfaces-site-skin</artifactId>
      	<version>3</version>
    </skin>
    
    <body>
        <links>
            <item name="Apache"         href="http://www.apache.org/"/>
            <item name="MyFaces"        href="http://myfaces.apache.org/index.html"/>
            <item name="Quick Start"    href="https://cwiki.apache.org/confluence/display/MYFACES/Quick+Start"/>
            <item name="User Guide"     href="https://cwiki.apache.org/confluence/display/MYFACES/MyFaces+Core+User+Guide"/>
            <item name="FAQ"            href="https://cwiki.apache.org/confluence/display/MYFACES/FAQ"/>
            <item name="Generated Doc"  href="./javadoc.html"/>
            <item name="Download"       href="http://myfaces.apache.org/download.html" />
        </links>

        <menu name="JSF Implementations" inherit="top">
            <item name="Core JSF-2.1"   href="../core21/index.html" collapse="true">
              <item name="dummy"        href="dummy"/>
            </item>
            <item name="Core JSF-2.0"   href="../core20/index.html" collapse="true">
              <item name="dummy"        href="dummy"/>
            </item>
            <item name="Core JSF-1.2"   href="http://myfaces.apache.org/core12/index.html" collapse="false">
              <item name="API"          href="http://myfaces.apache.org/core12/myfaces-api/index.html"/>
              <item name="Impl"         href="http://myfaces.apache.org/core12/myfaces-impl/index.html"/>
            </item>
            <item name="Core JSF-1.1"   href="../core11/index.html" collapse="true">
              <item name="dummy"        href="dummy"/>
            </item>
        </menu>

        <menu name="UI-Component Sets" inherit="top">
            <item name="Trinidad"       href="../trinidad/index.html"/>
            <item name="Tobago"         href="../tobago/index.html"/>
            <item name="Tomahawk"       href="../tomahawk/index.html" collapse="true">
              <item name="dummy"        href="dummy"/>
            </item>
        </menu>

        <menu name="Add-ons and Extensions" inherit="top">
            <item name="CODI"           href="../extensions/cdi/index.html"/>
            <item name="Orchestra"      href="../orchestra/index.html" collapse="true">
              <item name="dummy"        href="dummy"/>
            </item>
            <item name="ExtVal"         href="../extensions/validator/index.html"/>
            <item name="Portlet Bridge" href="../portlet-bridge/index.html"/>
            <item name="Test"           href="../test/index.html"/>
            <item name="Commons"        href="../commons/index.html"/>
            <item name="Ext-Scripting"  href="../extensions/scripting/index.html"/>
            <item name="Sandbox"        href="../sandbox/index.html" collapse="true">
              <item name="dummy"        href="dummy"/>
            </item>
            <item name="Others"         href="../otherProjects.html"/>
        </menu>
        
        <menu name="Documentation" inherit="top">
            <item name="Quick Start"     href="https://cwiki.apache.org/confluence/display/MYFACES/Quick+Start"/>
            <item name="Getting Started" href="https://cwiki.apache.org/confluence/display/MYFACES/Getting+Started"/>
            <item name="MyFaces and Google App Engine"  href="http://myfaces.apache.org/core20/googleappenginesupport.html"/>
            <item name="Generated Javadoc, Tlddoc and Others"        href="./javadoc.html"/>
            <item name="FAQ"             href="https://cwiki.apache.org/confluence/display/MYFACES/FAQ"/>
        </menu>

        <menu ref="reports" inherit="top"/>

        <menu name="Foundation" inherit="top">
            <item name="ASF"            href="http://www.apache.org/" />
            <item name="Sponsorship"    href="http://www.apache.org/foundation/sponsorship.html" />
            <item name="Thanks"         href="http://www.apache.org/foundation/thanks.html" />
            <item name="Security"       href="http://www.apache.org/security/" />
            <item name="License"        href="http://www.apache.org/licenses/" />
        </menu>
    </body>
</project>
