<?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="Apache MyFaces Extension-Scripting">
  <bannerLeft>
    <name>Apache MyFaces Extension-Scripting</name>


    <src>images/extscriptlogo.png</src>

    <href>http://myfaces.apache.org/ext-scripting</href>

  </bannerLeft>
  <bannerRight>
    <name>Apache MyFaces</name>
    <src>img/banners/MyFaces_logo.png</src>
    <href>http://myfaces.apache.org/</href>
  </bannerRight>
  <skin>
    <groupId>org.apache.myfaces.maven</groupId>
    <artifactId>myfaces-site-skin</artifactId>
    <version>2</version>
  </skin>
  <body>
    <links>
      <item name="MyFaces" href="http://myfaces.apache.org/"/>
    </links>

    <menu name="Download">
        <item name="Download" href="download.html"/>
    </menu>
    <menu name="Documentation">
      <item name="Introduction" href="index.html" />
      <item name="Latest Version Installation" href="installation.html" />
      <item name="Installation Beta 1" href="install_beta_1.html" />

      <item name="Users Guide" href="usersguide.html"/>
      <item name="Appendix A: Setup Checklist" href="setup_steps.html" />
      <item name="Appendix B: Configuration Entries" href="configentries.html" />
      <item name="Appendix C: Example Configurations" href="exampleconfig.html" />
    </menu>

    <menu name="Foundation">
      <item name="ASF" href="http://apache.org/" />
      <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
      <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
    </menu>

    <menu ref="modules"/>
    <menu ref="reports"/>

    
  </body>
</project>
