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


<!-- Well-formed and valid xml file -->
<client-cache
    xmlns="http://geode.apache.org/schema/cpp-cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://geode.apache.org/schema/cpp-cache
                        http://geode.apache.org/schema/cpp-cache/cpp-cache-1.0.xsd"
    version="1.0">


  <region name="Root1">
    <region-attributes caching-enabled="true"
                       pool-name="test_pool_nonexistent"/>

    <region name="SubRegion1">
      <!-- test_pool_2 does not exist -->
      <region-attributes caching-enabled="false" pool-name="test_pool_2"/>
    </region>

  </region>

  <region name="Root2">
    <!-- test_pool_2 does not exist -->
    <region-attributes caching-enabled="false" pool-name="test_pool_2"/>
  </region>

  <pool name="test_pool_3">
    <locator host="localhost" port="LOC_PORT1"/>
    <!-- locator host="localhost" port="34757" / -->
  </pool>

  <pool name="test_pool_4">
    <server host="localhost" port="HOST_PORT1"/>
    <server host="localhost" port="HOST_PORT2"/>
  </pool>

</client-cache>
