<?xml version="1.0"?>
<!--
  Copyright 1999-2005 The Apache Software Foundation

  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 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.
-->

<!--
    This file defines the publication specific use-cases
-->

  <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'bxe.edit']">
    
    <component-instance name="bxe.edit" logger="lenya.publication" 
      class="org.apache.lenya.cms.workflow.usecases.InvokeWorkflow">
      <view uri="modules/bxe/usecases/bxe.jx" menu="false" createContinuation="false"/>
      <transaction policy="pessimistic"/>
      <event id="edit"/>
      <parameter name="checkoutRestrictedToSession" value="false"/>
    </component-instance>
    
  </xconf>
