<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
 ! Copyright 2009-2013 by The Regents of the University of California
 ! Licensed 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 from
 ! 
 !     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="AsterixDB" xmlns="http://maven.apache.org/DECORATION/1.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
  <bannerLeft>
    <name>AsterixDB</name>
    <src>images/asterixlogo.png</src>
    <href>/index.html</href>
  </bannerLeft>
  
  <version position="right"/>

  <poweredBy>
    <logo name="Hyracks"
          href="https://code.google.com/p/hyracks/"
          img="images/hyrax_ts.png"/>
  </poweredBy>

  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.3.0</version>
  </skin>
  <custom>
    <fluidoSkin>
      <!-- <topBarEnabled>true</topBarEnabled>
      <topBarIcon>
        <name>AsterixDB</name>
        <alt>AsterixDB</alt>
        <src>images/asterixlogo.png</src>
        <href>/index.html</href>
      </topBarIcon>
      <sideBarEnabled>false</sideBarEnabled> -->
      <!-- <topBarContainerStyle>width: 90%;</topBarContainerStyle> -->
      <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled>
      <!-- <googlePlusOne /> -->
    </fluidoSkin>
  </custom>

  <body>
    <links>
      <item name="Home" href="index.html"/>
    </links>

    <menu name="Documentation">
      <item name="Installing and Managing AsterixDB using Managix" href="install.html"/>
      <item name="AsterixDB 101: An ADM and AQL Primer" href="aql/primer.html"/>
      <item name="Asterix Data Model (ADM)" href="aql/datamodel.html"/>
      <item name="Asterix Functions" href="aql/functions.html"/>
      <item name="Asterix Query Language (AQL)" href="aql/manual.html"/>
      <item name="AQL Support of Similarity Queries" href="aql/similarity.html"/>
      <item name="Accessing External Data" href="aql/externaldata.html"/>
      <item name="REST API to AsterixDB" href="api.html"/>
    </menu>

    <menu ref="reports"/>

    <footer>&copy; Copyright 2013 University of California, Irvine</footer>

  </body>
</project>
