<?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: doctypes.xconf 164635 2005-04-25 20:01:43Z tschlabach $ -->
  
  <xconf xpath="/cocoon"
    remove="/cocoon/component[@role = 'javax.jcr.Repository']"
    unless="/cocoon/component[@role = 'javax.jcr.Repository'][@class = 'org.apache.lenya.cms.jcr.LenyaRepository']"
    if-prop="patch.webapp">
    
    <component class="org.apache.lenya.cms.jcr.LenyaRepository" logger="jcr" role="javax.jcr.Repository">
      <credentials login="anonymous" password=""/>
      <jaas src="context://jcr-repository/jaas.config"/>
      <home src="context://jcr-repository/repository"/>
      <configuration src="context://jcr-repository/repository.xml"/>
      
      <namespace prefix="dc" uri="http://purl.org/dc/elements/1.1/"/>
      <namespace prefix="dcterms" uri="http://purl.org/dc/terms/"/>
      <namespace prefix="lenya" uri="http://apache.org/cocoon/lenya/page-envelope/1.0"/>
    </component>
    
  </xconf>
  