<?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.
-->

<xconf xpath="/cocoon/source-factories" unless="component-instance[@name='qdox']">
    <component-instance
        class="org.apache.cocoon.components.source.impl.QDoxSourceFactory"
        logger="core.sources.qdox"
        name="qdox">
      <include-inheritance value="yes" />

      <!-- these source-roots must be configured for your system! -->
      <source-roots group="test-source">
        <!-- test source-root as mentioned in the qdox block samples.xml file -->
          <source-root uri="file:///tmp/qdox-test"/>
          <!-- test source-root for linux (replace the above) -->
          <!-- <source-root uri="jar:file:///usr/java/j2sdk1.4.2_03/src.zip!"/> -->
      </source-roots>

      <!-- examples of other source-roots
      <source-roots group="JDK">
        <source-root uri="jar:file:///tmp/jdk-src.zip!" />
      </source-roots>
      <source-roots group="Avalon">
        <source-root uri="file://D:/cvs-workspaces/apache/jakarta-avalon/src/java" />
        <source-root uri="file://D:/cvs-workspaces/apache/jakarta-avalon-logkit/src/java" />
        <source-root uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/component/src/java" />
        <source-root uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/sourceresolve/src/java" />
        <source-root uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/pool/src/java" />
        <source-root uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/xmlutil/src/java" />
      </source-roots>
      <source-roots group="Cocoon">
        <source-root uri="file://D:/cvs-workspaces/apache/xml-cocoon2/src/java" />
        <source-root uri="file://D:/cvs-workspaces/apache/xml-cocoon2/src/deprecated/java" />
      </source-roots>
      -->

    </component-instance>

</xconf>
