<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
   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.
-->
<!-- Test configuration definition file that demonstrates complex initialization
     of the result configuration in the header section.
-->
<configuration>
  <header>
    <result>
      <listDelimiterHandler
        config-class="org.apache.commons.configuration2.convert.DefaultListDelimiterHandler">
        <config-constrarg config-value=","/>
      </listDelimiterHandler>
      <nodeCombiner config-class="org.apache.commons.configuration2.tree.OverrideCombiner"/>
      <expressionEngine config-class="org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine"/>
    </result>
    <combiner>
      <override>
        <list-nodes>
          <node>table</node>
          <node>list</node>
        </list-nodes>
      </override>
    </combiner>
  </header>
  <properties fileName="test.properties" throwExceptionOnMissing="true"
    config-name="properties">
  </properties>
  <additional>
    <xml config-name="combiner1" fileName="testcombine1.xml"/>  -->
    <xml config-name="combiner2" fileName="testcombine2.xml"/>
  </additional>
</configuration>
