<?xml version="1.0"?>
<!--
  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.
-->

<!-- $Id: generic.xsp 155806 2005-03-01 17:55:42Z andreas $ -->

<xsp:page 
    language="java" 
    xmlns:xsp="http://apache.org/xsp"
    xmlns:xsp-request="http://apache.org/xsp/request/2.0"
    xmlns:input="http://apache.org/cocoon/xsp/input/1.0"
    xmlns:i18n="http://apache.org/cocoon/i18n/2.1"    
    xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0"
    xmlns:uc="http://apache.org/cocoon/lenya/usecase/1.0"
    xmlns="http://apache.org/cocoon/lenya/menubar/1.0"
>

  <menu>
  
    <xsp:logic>
      String baseUrl = (String) <input:get-attribute module="request" name="contextPath"/>;
    </xsp:logic>

    <menus>
      <menu i18n:attr="name" name="Development">
        <block areas="site authoring">
          <item href="?lenya.module=development&amp;lenya.action=showLog">
            <xsp:attribute name="href"><xsp:expr>baseUrl</xsp:expr>/modules/development/log4j.log</xsp:attribute>
            <i18n:text>Show Log</i18n:text>
          </item>
        </block>
      </menu>
      
    </menus>
    
  </menu>
</xsp:page>
