<?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/cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://geode.apache.org/schema/cache
                        http://geode.apache.org/schema/cpp-cache/cpp-cache-1.0.xsd"
    version="9.0">
<!-- xml with region-attribute having only child elements no attributes. refer to Ticket #775  -->
  <root-region name= "Root1">
    <region-attributes > 
	  <cache-loader library-name="unit_test_callbacks" library-function-name="createCacheLoader" />
      <cache-listener library-name="unit_test_callbacks" library-function-name="createCacheListener" />
      <cache-writer library-name="unit_test_callbacks" library-function-name="createCacheWriter" />
	</region-attributes > 
  </root-region>
</client-cache>
