<?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 -->
<configuration>
  <header>
    <result delimiterParsingDisabled="true" forceReloadCheck="true"
            config-class="org.apache.commons.configuration.DynamicCombinedConfiguration"
            keyPattern="$${sys:Id}">
      <nodeCombiner config-class="org.apache.commons.configuration.tree.MergeCombiner"/>
      <expressionEngine
          config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
    </result>
    <fileSystem config-class="org.apache.commons.configuration.VFSFileSystem"/>
    <providers>
      <provider config-tag="multifile"
         config-class="org.apache.commons.configuration.DefaultConfigurationBuilder$FileConfigurationProvider"
         configurationClass="org.apache.commons.configuration.MultiFileHierarchicalConfiguration"/>
    </providers>
  </header>
  <override>
    <multifile filePattern="testwrite/testMultiConfiguration_$$${sys:Id}.xml"
               config-name="clientConfig" delimiterParsingDisabled="true" schemaValidation="false">
       <expressionEngine
          config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
       <reloadingStrategy refreshDelay="0"
          config-class="org.apache.commons.configuration.reloading.VFSFileChangedReloadingStrategy"/>
    </multifile>
    <xml fileName="testMultiConfiguration_default.xml"
         config-name="defaultConfig" delimiterParsingDisabled="true">
      <expressionEngine
          config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
      <reloadingStrategy refreshDelay="0"
          config-class="org.apache.commons.configuration.reloading.VFSFileChangedReloadingStrategy"/>
    </xml>
  </override>
</configuration>