<?xml version="1.0" encoding="UTF-8"?>
<!--
   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.
-->
<!--
  A test configuration file for testing variable substitution across multiple
  configuration sources created by a DefaultConfigurationBuilder.
  This configuration definition file for a DefaultConfigurationBuilder
  references multiple sources which contain variable references.
  $Id$
-->
<configuration>
  <system/>
  <properties fileName="testInterpolation.properties"/>
  <xml fileName="${testXmlFile}" config-name="test">
    <expressionEngine config-class="org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine"/>
  </xml>
</configuration>
