You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2016/04/07 19:40:14 UTC

[1/5] incubator-geode git commit: GEODE-386: Change xsd namespace to apache

Repository: incubator-geode
Updated Branches:
  refs/heads/feature/GEODE-386 [created] 1458b9850


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-site/website/content/schema/cache/cache-1.0.xsd
----------------------------------------------------------------------
diff --git a/geode-site/website/content/schema/cache/cache-1.0.xsd b/geode-site/website/content/schema/cache/cache-1.0.xsd
new file mode 100644
index 0000000..c9c4f91
--- /dev/null
+++ b/geode-site/website/content/schema/cache/cache-1.0.xsd
@@ -0,0 +1,1469 @@
+<?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.
+  -->
+<xsd:schema
+    targetNamespace="http://geode.apache.org/schema/cache"
+    xmlns:gf="http://geode.apache.org/schema/cache"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified"
+    version="1.0">
+  <xsd:annotation>
+    <xsd:documentation><![CDATA[
+This is the XML Schema for the Geode distributed cache declarative
+caching XML file. All declarative cache files must include a schema
+of the following form:
+
+  <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/cache/cache-1.0.xsd"
+    version="1.0">
+
+If you are declaring a client cache then use this schema:
+
+  <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/cache/cache-1.0.xsd"
+    version="1.0">
+
+The contents of a declarative XML file correspond to APIs found in the
+com.gemstone.gemfire.cache and com.gemstone.gemfire.cache.client
+packages. A declarative caching XML file is used to populate a Cache
+or a ClientCache when it is created.
+
+The top-level element in this syntax is "cache" or "client-cache".
+All elements are listed here in alphabetical order.
+
+The following conventions apply to all Geode distributed cache
+declarative caching XML file elements unless indicated otherwise.
+
+- In elements that contain PCDATA, leading and trailing whitespace in
+  the data may be ignored.
+
+- In elements whose value is an "enumerated type", the value is case
+  sensitive.
+  
+  ]]></xsd:documentation>
+  </xsd:annotation>
+
+    <!--
+-->
+  <xsd:element name="cache">
+    <xsd:annotation>
+      <xsd:documentation>
+        The "cache" element is the root element of the declarative cache file on a peer or server.
+        This element configures a Geode Cache and describes the root regions it contains, if any.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element maxOccurs="1" minOccurs="0" name="cache-transaction-manager" type="gf:cache-transaction-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="dynamic-region-factory" type="gf:dynamic-region-factory-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-hub">
+          <xsd:annotation>
+            <xsd:documentation>
+              The "gateway-hub" element specifies a Gateway Hub that is
+              initialized when the Cache is declaratively initialized.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    The "gateway" element specifies a Gateway that is
+                    initialized when a GatewayHub is declaratively initialized.
+                  </xsd:documentation>
+                </xsd:annotation>
+                <xsd:complexType>
+                  <xsd:sequence>
+                    <xsd:choice>
+                      <xsd:element maxOccurs="unbounded" minOccurs="1" name="gateway-endpoint">
+                        <xsd:annotation>
+                          <xsd:documentation>
+                            The "gateway-endpoint" element specifies an endpoint that is
+                            initialized when a Gateway is declaratively initialized.
+                          </xsd:documentation>
+                        </xsd:annotation>
+                        <xsd:complexType>
+                          <xsd:attribute name="host" type="xsd:string" use="required" />
+                          <xsd:attribute name="id" type="xsd:string" use="required" />
+                          <xsd:attribute name="port" type="xsd:string" use="required" />
+                        </xsd:complexType>
+                      </xsd:element>
+                      <xsd:element maxOccurs="unbounded" minOccurs="1" name="gateway-listener">
+                        <xsd:annotation>
+                          <xsd:documentation>
+                            The "gateway-listener" element specifies a listener that is
+                            initialized when a Gateway is declaratively initialized.
+                          </xsd:documentation>
+                        </xsd:annotation>
+                        <xsd:complexType>
+                          <xsd:sequence>
+                            <xsd:element name="class-name" type="gf:class-name-type" />
+                            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                          </xsd:sequence>
+                        </xsd:complexType>
+                      </xsd:element>
+                    </xsd:choice>
+                    <xsd:element maxOccurs="1" minOccurs="0" name="gateway-queue">
+                      <xsd:annotation>
+                        <xsd:documentation>
+                          The "gateway-queue" element specifies a queue that is initialized when a
+                          Gateway is declaratively initialized. As of 6.5 overflow-directory is
+                          deprecated. Use disk-store-name instead. As of 6.5 roll-oplogs is
+                          deprecated. Use disk-store-name instead.
+                        </xsd:documentation>
+                      </xsd:annotation>
+                      <xsd:complexType>
+                        <xsd:attribute name="alert-threshold" type="xsd:string" use="optional" />
+                        <xsd:attribute name="batch-conflation" type="xsd:boolean" use="optional" />
+                        <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+                        <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
+                        <xsd:attribute name="enable-persistence" type="xsd:boolean" use="optional" />
+                        <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+                        <xsd:attribute name="roll-oplogs" type="xsd:boolean" use="optional" />
+                        <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
+                        <xsd:attribute name="overflow-directory" type="xsd:string" use="optional" />
+                      </xsd:complexType>
+                    </xsd:element>
+                  </xsd:sequence>
+                  <xsd:attribute name="early-ack" type="xsd:boolean" use="optional" />
+                  <xsd:attribute name="id" type="xsd:string" use="required" />
+                  <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+                  <xsd:attribute name="socket-read-timeout" type="xsd:string" use="optional" />
+                  <xsd:attribute name="concurrency-level" type="xsd:string" use="optional" />
+                  <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
+                </xsd:complexType>
+              </xsd:element>
+            </xsd:sequence>
+            <xsd:attribute name="id" type="xsd:string" use="required" />
+            <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
+            <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
+            <xsd:attribute name="port" type="xsd:string" use="optional" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="startup-policy" use="optional">
+              <xsd:simpleType>
+                <xsd:restriction base="xsd:string">
+                  <xsd:enumeration value="primary" />
+                  <xsd:enumeration value="secondary" />
+                  <xsd:enumeration value="none" />
+                </xsd:restriction>
+              </xsd:simpleType>
+            </xsd:attribute>
+            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="max-connections" type="xsd:integer" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-sender">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-event-filter" type="gf:class-with-parameters-type" />
+              <xsd:element maxOccurs="1" minOccurs="0" name="gateway-event-substitution-filter" type="gf:class-with-parameters-type" />
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-transport-filter" type="gf:class-with-parameters-type" />
+            </xsd:sequence>
+            <xsd:attribute name="id" type="xsd:string" use="required" />
+            <xsd:attribute name="remote-distributed-system-id" type="xsd:string" use="required" />
+            <xsd:attribute name="parallel" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="socket-read-timeout" type="xsd:string" use="optional" />
+            <xsd:attribute name="enable-batch-conflation" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
+            <xsd:attribute name="enable-persistence" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+            <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
+            <xsd:attribute name="alert-threshold" type="xsd:string" use="optional" />
+            <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
+            <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-receiver">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-transport-filter" type="gf:class-with-parameters-type" />
+            </xsd:sequence>
+            <xsd:attribute name="start-port" type="xsd:string" use="optional" />
+            <xsd:attribute name="end-port" type="xsd:string" use="optional" />
+            <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
+            <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="hostname-for-senders" type="xsd:string" use="optional" />
+            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="1" minOccurs="0" name="gateway-conflict-resolver">
+          <xsd:annotation>
+            <xsd:documentation>
+              A "gateway-conflict-resolver" element describes a region's GatewayConflictResolver.
+              It is used to resolve inter-system concurrency conflicts.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="class-name" type="gf:class-name-type" />
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="async-event-queue">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-event-filter" type="gf:class-with-parameters-type" />
+              <xsd:element maxOccurs="1" minOccurs="0" name="gateway-event-substitution-filter" type="gf:class-with-parameters-type" />
+              <xsd:element name="async-event-listener" type="gf:class-with-parameters-type">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    A "async-event-listener" element describes a region's AsyncEventListener.
+                  </xsd:documentation>
+                </xsd:annotation>
+              </xsd:element>
+            </xsd:sequence>
+            <xsd:attribute name="id" type="xsd:string" use="required" />
+            <xsd:attribute name="parallel" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
+            <xsd:attribute name="enable-batch-conflation" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
+            <xsd:attribute name="persistent" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+            <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
+            <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="cache-server">
+          <xsd:annotation>
+            <xsd:documentation>
+              The "cache-server" element specifies a Cache Server that will accept requests from
+              clients and that is started when the Cache is declaratively initialized.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:complexContent>
+              <xsd:extension base="gf:server-type">
+                <xsd:attribute name="tcp-no-delay" type="xsd:boolean" use="optional" />
+              </xsd:extension>
+            </xsd:complexContent>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="hdfs-store" type="gf:hdfs-store-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="pdx" type="gf:pdx-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element name="jndi-bindings" type="gf:jndi-bindings-type" />
+          <xsd:element name="region" type="gf:region-type" />
+          <xsd:element name="vm-root-region" type="gf:region-type">
+            <xsd:annotation>
+              <xsd:appinfo>deprecated</xsd:appinfo>
+              <xsd:documentation>
+                A "vm-root-region" element is the same as "region". This element exists for
+                backwards compatiblity and should not be used in new xml files.
+              </xsd:documentation>
+            </xsd:annotation>
+          </xsd:element>
+        </xsd:choice>
+        <xsd:element maxOccurs="1" minOccurs="0" name="function-service" type="gf:function-service-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="resource-manager" type="gf:resource-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="serialization-registration" type="gf:serialization-registration-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="backup" type="xsd:string">
+          <xsd:annotation>
+            <xsd:documentation>
+              The backup element defines files or directories that should be backed up when the
+              system wide backup command is invoked. Disk stores with persistent data are
+              automatically backed up, they do not need to be listed with this element.
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element maxOccurs="1" minOccurs="0" name="initializer" type="gf:initializer-type" />
+        <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="copy-on-read" type="xsd:boolean" use="optional" />
+      <xsd:attribute name="is-server" type="xsd:boolean" use="optional" />
+      <xsd:attribute name="lock-timeout" type="xsd:string" use="optional" />
+      <xsd:attribute name="lock-lease" type="xsd:string" use="optional" />
+      <xsd:attribute name="message-sync-interval" type="xsd:string" use="optional" />
+      <xsd:attribute name="search-timeout" type="xsd:string" use="optional" />
+      <xsd:attribute name="version" type="gf:versionType" use="required" fixed="1.0" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="client-cache">
+    <xsd:annotation>
+      <xsd:documentation>
+        The "client-cache" element is the root element of the declarative cache file on a client.
+        This element configures a Geode ClientCache and describes the root regions it contains, if any.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element maxOccurs="1" minOccurs="0" name="cache-transaction-manager" type="gf:cache-transaction-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="dynamic-region-factory" type="gf:dynamic-region-factory-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="pdx" type="gf:pdx-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element name="jndi-bindings" type="gf:jndi-bindings-type" />
+          <xsd:element name="region" type="gf:region-type" />
+        </xsd:choice>
+        <xsd:element maxOccurs="1" minOccurs="0" name="function-service" type="gf:function-service-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="resource-manager" type="gf:resource-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="serialization-registration" type="gf:serialization-registration-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="initializer" type="gf:initializer-type" />
+      </xsd:sequence>
+      <xsd:attribute name="copy-on-read" type="xsd:boolean" use="optional" />
+      <xsd:attribute name="version" type="gf:versionType" use="required" fixed="1.0" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:complexType name="region-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "region" element describes a region (and its entries) in Geode distributed cache.
+        It may be used to create a new region or may be used to add new entries to an existing
+        region. Note that the "name" attribute specifies the simple name of the region; it
+        cannot contain a "/". If "refid" is set then it defines the default region attributes
+        to use for this region. A nested "region-attributes" element can override these defaults.
+        If the nested "region-attributes" element has its own "refid" then it will cause the
+        "refid" on the region to be ignored. "refid" can be set to the name of a RegionShortcut
+        or a ClientRegionShortcut (see the javadocs of those enum classes for their names).
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="index">
+        <xsd:annotation>
+          <xsd:documentation>
+            An "index" element describes an index to be created on a region.
+            The index node, if any, should all come immediately after the
+            "region-attributes" node. There can be any number of functional types
+            of index on a Region, but only at max one index of type "primary-key". The
+            "name" attribute is a required field which identifies the name of the index.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:choice minOccurs="0">
+            <xsd:element name="functional">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A functional type of index needs a from-clause, expression which are mandatory.
+                  The import string is used for specifying the type of Object in the region or
+                  the type of Object which the indexed expression evaluates to.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="expression" type="xsd:string" use="required" />
+                <xsd:attribute name="from-clause" type="xsd:string" use="required" />
+                <xsd:attribute name="imports" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element name="primary-key">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A primary-key type of index needs a field attribute which is mandatory.
+                  There should be only one or zero primary-index defined for a region
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="field" type="xsd:string" use="required" />
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:choice>
+          <xsd:attribute name="name" type="xsd:string" use="required" />
+          <xsd:attribute name="expression" type="xsd:string" use="optional" />
+          <xsd:attribute name="from-clause" type="xsd:string" use="optional" />
+          <xsd:attribute name="imports" type="xsd:string" use="optional" />
+          <xsd:attribute name="key-index" type="xsd:boolean" use="optional" />
+          <xsd:attribute default="range" name="type" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="range" />
+                <xsd:enumeration value="hash" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
+        <xsd:annotation>
+          <xsd:documentation>
+            An "entry" element desribes an entry to be added to a region. Note
+            that if an entry with the given key already exists in the region,
+            it will be replaced.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="key">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "key" element describes the key in a Region entry.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:choice>
+                  <xsd:element name="string" type="gf:string-type" />
+                  <xsd:element name="declarable" type="gf:declarable-type" />
+                </xsd:choice>
+              </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="value">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "value" element describes the value in a Region entry
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:choice>
+                  <xsd:element name="string" type="gf:string-type" />
+                  <xsd:element name="declarable" type="gf:declarable-type" />
+                </xsd:choice>
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="region" type="gf:region-type" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="refid" type="xsd:string" use="optional" />
+  </xsd:complexType>
+    <!-- ======================================================= -->
+    <!--
+A "region-attributes" element describes the attributes of a region to
+be created.
+As of 6.5 disk-dirs is deprecated on region-attributes. Use disk-store-name instead.
+-->
+  <xsd:complexType name="region-attributes-type">
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="key-constraint">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "key-constraint" element specifies the name of a class to which the
+            keys of a region are constrained.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="value-constraint" type="xsd:string">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "value-constraint" element specifies the name of a class to which the
+            values of a region are constrained.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="region-time-to-live">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "region-time-to-live" element specifies a Region's time to live.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="region-idle-time">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "region-idle-time" element specifies a Region's idle time.
+            Note that the APIs that correspond to this element add "out" to their
+            name. See getRegionIdleTimeout and setRegionIdleTimeout.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="entry-time-to-live">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "entry-time-to-live" element specifies a Region's entries' time to
+            live.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="entry-idle-time">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "entry-idle-time" element specifies a Region's entries' idle time.
+            Note that the APIs that correspond to this element add "out" to
+            their name. See getEntryIdleTimeout and setEntryIdleTimeout.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-write-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "disk-write-attributes" element describes how entry data is written
+            to disk. Deprecated as of 6.5 use disk-store instead.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:choice>
+            <xsd:element name="asynchronous-writes">
+              <xsd:annotation>
+                <xsd:documentation>
+                  An "asynchronous-writes" element specifies how entry data should be
+                  written to disk asynchronous. Deprecated as of 6.5 use disk-store instead.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="bytes-threshold" type="xsd:string" use="required" />
+                <xsd:attribute name="time-interval" type="xsd:string" use="required" />
+              </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="synchronous-writes">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "synchronous-writes" element specifies that entry data should be
+                  written to disk synchronously.
+                </xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+          </xsd:choice>
+          <xsd:attribute name="max-oplog-size" type="xsd:string" use="optional" />
+          <xsd:attribute name="roll-oplogs" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dirs" type="gf:disk-dirs-type" />
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="partition-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "partition-attributes" element configures a region for partitioned
+            data storage.
+
+            local-max-memory attribute added to partition-attributes in release 5.1
+            total-max-memory attribute added to partition-attributes in release 5.1
+            total-num-buckets attribute added to partition-attributes in release 5.1
+            partition-resolver attribute added to partition-attributes in release 5.7
+            partition-listener attribute added to partition-attributes in release 6.1
+            colocated-with attribute added to partition-attributes in release 5.7
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element maxOccurs="1" minOccurs="0" name="partition-resolver">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "partition-resolver" element describes a partitioned region's custom
+                  PartitionResolver.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence>
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+                <xsd:attribute name="name" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="partition-listener">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "partition-listener" element describes a partitioned region's custom
+                  PartitionListener.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence>
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="fixed-partition-attributes">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "fixed-partition-attributes" element describes characteristics of a
+                  partition in a Fixed Partitioned Region.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="partition-name" type="xsd:string" use="required" />
+                <xsd:attribute name="is-primary" type="xsd:boolean" use="optional" />
+                <xsd:attribute name="num-buckets" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+          </xsd:sequence>
+          <xsd:attribute name="local-max-memory" type="xsd:string" use="optional" />
+          <xsd:attribute name="recovery-delay" type="xsd:string" use="optional" />
+          <xsd:attribute name="redundant-copies" type="xsd:string" use="optional" />
+          <xsd:attribute name="startup-recovery-delay" type="xsd:string" use="optional" />
+          <xsd:attribute name="total-max-memory" type="xsd:string" use="optional" />
+          <xsd:attribute name="total-num-buckets" type="xsd:string" use="optional" />
+          <xsd:attribute name="colocated-with" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="membership-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "membership-attributes" element configures a region for membership
+            constraints based on required roles.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="required-role">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "required-role" element specifies a role that is required for reliable
+                  access to the region
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="name" type="xsd:string" use="required" />
+              </xsd:complexType>
+            </xsd:element>
+
+          </xsd:sequence>
+          <xsd:attribute name="loss-action" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="full-access" />
+                <xsd:enumeration value="limited-access" />
+                <xsd:enumeration value="no-access" />
+                <xsd:enumeration value="reconnect" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="resumption-action" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="none" />
+                <xsd:enumeration value="reinitialize" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="subscription-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "subscription-attributes" element configures how a region subscribes
+            to remote distributed regions.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="interest-policy" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="all" />
+                <xsd:enumeration value="cache-content" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="cache-loader" type="gf:cache-loader-type" />
+      <xsd:element maxOccurs="1" minOccurs="0" name="cache-writer" type="gf:cache-writer-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="cache-listener">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "cache-listener" element describes a region's CacheListener.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="compressor">
+        <xsd:annotation>
+          <xsd:documentation>
+            A compressor registers a custom class which extends Compressor to support compression on a region.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="eviction-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            Create eviction attributes that monitor and control the size of the Region.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:choice>
+            <xsd:element name="lru-entry-count">
+              <xsd:annotation>
+                <xsd:documentation>
+                  Create an LRU eviction controller which performs the action if the
+                  Region has more than the maximum number of Entries in the Region.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
+                <xsd:attribute name="maximum" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element name="lru-heap-percentage">
+              <xsd:annotation>
+                <xsd:documentation>
+                  Create an LRU which evicts entries using the specified action
+                  when the heap is over the resource manager critical heap/off-heap percentage.
+                  When the threshold has been exceeded each create or put operation
+                  is required to evict the same size of data which was added. The
+                  optional class-name and parameters allow for the declaration
+                  of an ObjectSizer, which will be used to determine data size.
+                  The class must implement the ObjectSizer interface.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence minOccurs="0">
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element name="lru-memory-size">
+              <xsd:annotation>
+                <xsd:documentation>
+                  Create an LRU that performs the action when the memory size of the Region is
+                  over the maximum. The optional class-name and parameters allow for the
+                  declaration an ObjectSizer, which is used to measure the size of each Object
+                  in the Region. The class must implement the ObjectSizer interface.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence minOccurs="0">
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
+                <xsd:attribute name="maximum" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:choice>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="concurrency-level" type="xsd:string" use="optional" />
+    <xsd:attribute name="data-policy" type="gf:region-attributesData-policy" use="optional" />
+    <xsd:attribute name="early-ack" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="enable-async-conflation" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="enable-gateway" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="enable-subscription-conflation" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="gateway-sender-ids" type="xsd:string" use="optional" />
+    <xsd:attribute name="async-event-queue-ids" type="xsd:string" use="optional" />
+    <xsd:attribute name="hub-id" type="xsd:string" use="optional" />
+    <xsd:attribute name="id" type="xsd:string" use="optional" />
+    <xsd:attribute name="ignore-jta" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="index-update-type" type="gf:region-attributesIndex-update-type" use="optional" />
+    <xsd:attribute name="initial-capacity" type="xsd:string" use="optional" />
+    <xsd:attribute name="is-lock-grantor" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="load-factor" type="xsd:string" use="optional" />
+    <xsd:attribute name="mirror-type" type="gf:region-attributesMirror-type" use="optional" />
+    <xsd:attribute name="multicast-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="persist-backup" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="pool-name" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="hdfs-store-name" type="xsd:string" use="optional" />
+    <xsd:attribute name="hdfs-write-only" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="publisher" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="refid" type="xsd:string" use="optional" />
+    <xsd:attribute name="scope" type="gf:region-attributesScope" use="optional" />
+    <xsd:attribute name="statistics-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="cloning-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute default="true" name="concurrency-checks-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="off-heap" type="xsd:boolean" use="optional" />
+  </xsd:complexType>
+  <xsd:simpleType name="region-attributesData-policy">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="empty" />
+      <xsd:enumeration value="normal" />
+      <xsd:enumeration value="partition" />
+      <xsd:enumeration value="persistent-replicate" />
+      <xsd:enumeration value="preloaded" />
+      <xsd:enumeration value="replicate" />
+      <xsd:enumeration value="persistent-partition" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="region-attributesIndex-update-type">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="asynchronous" />
+      <xsd:enumeration value="synchronous" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="region-attributesMirror-type">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="keys" />
+      <xsd:enumeration value="keys-values" />
+      <xsd:enumeration value="none" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="region-attributesScope">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="distributed-ack" />
+      <xsd:enumeration value="distributed-no-ack" />
+      <xsd:enumeration value="global" />
+      <xsd:enumeration value="local" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="enum-readable-writable">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="readable" />
+      <xsd:enumeration value="writable" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!-- ======================================================= -->
+
+  <xsd:complexType name="server-type">
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="group" type="xsd:string">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "group" element specifies a single server group.
+            Deprecated as of 7.0 use the groups Geode property instead.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="client-subscription">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "client-subscription" element describes the eviction policy, capacity and
+            overflow-directory for client subscription config. The overflow-directory attribute
+            is deprecated as of 6.5 use disk-store-name instead.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="eviction-policy" use="required">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="entry" />
+                <xsd:enumeration value="mem" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="capacity" type="xsd:string" use="required" />
+          <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+          <xsd:attribute name="overflow-directory" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="custom-load-probe">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "custom-load-probe" element describes a callback that reports the load on a cache-server.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
+    <xsd:attribute name="hostname-for-clients" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-connections" type="xsd:string" use="optional" />
+    <xsd:attribute name="maximum-message-count" type="xsd:string" use="optional" />
+    <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-threads" type="xsd:string" use="optional" />
+    <xsd:attribute name="message-time-to-live" type="xsd:string" use="optional" />
+    <xsd:attribute name="notify-by-subscription" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="port" type="xsd:string" use="optional" />
+    <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="load-poll-interval" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="resource-manager-type">
+    <xsd:annotation>
+      <xsd:appinfo>deprecated</xsd:appinfo>
+      <xsd:documentation>
+        The "resource manager" element configures the behavior of the resource manager.
+        The resource manager provides support for resource management of its associated Cache.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="critical-heap-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="eviction-heap-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="critical-off-heap-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="eviction-off-heap-percentage" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="function-service-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        The "function service" element configures the behavior of the function service.
+        The function service allows users to execute functions on data stored in Geode.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="function">
+        <xsd:annotation>
+          <xsd:documentation>
+            The "function" element defines a function for registration in the function service.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="cache-loader-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "cache-loader" element describes a region's CacheLoader.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="cache-transaction-manager-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "cache-transaction-manager" element allows insertion of cache-level transaction listeners.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="transaction-listener">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "transaction-listener" describes a TransactionListener.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="transaction-writer">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "transaction-writer" describes a TransactionWriter.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="cache-writer-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "cache-writer" element describes a region's CacheWriter.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="serialization-registration-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A serialization-registration contains a set of serializer or instantiator tags to
+        register customer DataSerializer extensions or DataSerializable implementations respectively.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="serializer">
+        <xsd:annotation>
+          <xsd:documentation>
+            A serializer registers a custom class which extends DataSerializer to support custom
+            serialization of non-modifiable object types inside Geode. The class must have a
+            public zero-arg constructor.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="instantiator">
+        <xsd:annotation>
+          <xsd:documentation>
+            An instantiator registers a custom class which implements the DataSerializable interface
+            to support custom object serialization inside Geode. The class must have a public
+            zero-arg constructor.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+          </xsd:sequence>
+          <xsd:attribute name="id" type="xsd:string" use="required">
+            <xsd:annotation>
+              <xsd:documentation>
+                The id that the instantiator should associate with the DataSerializable type.
+              </xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:simpleType name="class-name-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "class-name" element specifies the name of a class, an instance of which is created
+        when a declarative cache XML file is read.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="disk-store-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "disk-store" element specifies a DiskStore for persistence.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dirs" type="gf:disk-dirs-type" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="auto-compact" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="compaction-threshold" type="xsd:string" use="optional" />
+    <xsd:attribute name="allow-force-compaction" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="max-oplog-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="time-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="write-buffer-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="queue-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-usage-warning-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-usage-critical-percentage" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType mixed="true" name="hdfs-store-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "hdfs-store" element specifies a HdfsStore for persistence.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="namenode-url" type="xsd:string" use="optional" />
+    <xsd:attribute name="home-dir" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-memory" type="xsd:string" use="optional" />
+    <xsd:attribute name="read-cache-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="batch-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
+    <xsd:attribute name="buffer-persistent" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="disk-store" type="xsd:string" use="optional" />
+    <xsd:attribute name="synchronous-disk-write" type="xsd:string" use="optional" />
+    <xsd:attribute name="hdfs-client-config-file" type="xsd:string" use="optional" />
+    <xsd:attribute name="purge-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="major-compaction" type="xsd:string" use="optional" />
+    <xsd:attribute name="major-compaction-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="major-compaction-threads" type="xsd:integer" use="optional" />
+    <xsd:attribute name="minor-compaction" type="xsd:string" use="optional" />
+    <xsd:attribute name="minor-compaction-threads" type="xsd:integer" use="optional" />
+    <xsd:attribute name="max-write-only-file-size" type="xsd:integer" use="optional" />
+    <xsd:attribute name="write-only-file-rollover-interval" type="xsd:string" use="optional" />    
+  </xsd:complexType>
+
+  <xsd:complexType name="pdx-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "pdx" element specifies the configuration for the portable data exchange (PDX) method of
+        serialization. The "read-serialized" attribute is "early access".
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="pdx-serializer">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "pdx-serializer" element describes a serializer used to serialize objects in the
+            portable data exchange format.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+    </xsd:sequence>
+    <xsd:attribute name="read-serialized" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="ignore-unread-fields" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="persistent" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="pool-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "pool" element specifies a client to server connection pool.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element maxOccurs="unbounded" minOccurs="1" name="locator">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "locator" element specifies the host and port that a server locator is listening on
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="host" type="xsd:string" use="required" />
+          <xsd:attribute name="port" type="xsd:string" use="required" />
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="unbounded" minOccurs="1" name="server">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "server" element specifies the host and port that a cache server is listening on
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="host" type="xsd:string" use="required" />
+          <xsd:attribute name="port" type="xsd:string" use="required" />
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:choice>
+    <xsd:attribute name="free-connection-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="load-conditioning-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="min-connections" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-connections" type="xsd:string" use="optional" />
+    <xsd:attribute name="retry-attempts" type="xsd:string" use="optional" />
+    <xsd:attribute name="idle-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="ping-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="read-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="server-group" type="xsd:string" use="optional" />
+    <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="subscription-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="subscription-message-tracking-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="subscription-ack-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="subscription-redundancy" type="xsd:string" use="optional" />
+    <xsd:attribute name="statistic-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="thread-local-connections" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="pr-single-hop-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="multiuser-authentication" type="xsd:boolean" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="declarable-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "declarable" element specifies a Declarable object to be placed in a Region entry.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="disk-dir-type" mixed="true">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "disk-dir" element specifies one of a region or diskstore's disk directories.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="dir-size" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="disk-dirs-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "disk-dirs" element specifies the region's disk directories.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="1" name="disk-dir" type="gf:disk-dir-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="dynamic-region-factory-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "dynamic-region-factory" element configures a dynamic region factory for
+        this cache. If this optional element is missing then the cache does not
+        support dynamic regions.
+
+        The optional "disk-dir" sub-element can be used to specify the directory to
+        store the persistent files that are used for dynamic region bookkeeping.
+        It defaults to the current directory.
+
+        The pool-name attribute can be used to set the name of the connection pool used
+        by client applications in a client/server cache configuration. It should not be
+        specified in servers or peers.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dir" type="gf:disk-dir-type" />
+    </xsd:sequence>
+    <xsd:attribute name="disable-persist-backup" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="disable-register-interest" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="pool-name" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="expiration-attributes-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        An "expiration-attributes" element describes expiration.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="custom-expiry">
+        <xsd:annotation>
+          <xsd:documentation>
+            The "custom-expiry" element specifies a callback that specifies
+            custom expiration attributes. See the CustomExpiry class.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+
+    <xsd:attribute name="action" use="optional">
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="destroy" />
+          <xsd:enumeration value="invalidate" />
+          <xsd:enumeration value="local-destroy" />
+          <xsd:enumeration value="local-invalidate" />
+        </xsd:restriction>
+      </xsd:simpleType>
+    </xsd:attribute>
+    <xsd:attribute name="timeout" type="xsd:string" use="required" />
+  </xsd:complexType>
+
+  <xsd:complexType name="initializer-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "initializer" element specifies a Declarable object whose init method
+        will be called after all other cache.xml initialization is
+        complete.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="class-with-parameters-type">
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="jndi-bindings-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A jndi-bindings element will contain the jndi-binding for each of the
+        datasources which are to be bound with the JNDI Context.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="jndi-binding">
+        <xsd:annotation>
+          <xsd:documentation>
+            For every datasource which is bound to the JNDI tree, there will exist one
+            jndi-binding tag. This tag will describe the property and configuration of the
+            datasource. The attributes of jndi-binding are used for configuration by
+            Geode, while the property element is used to configure the custom property
+            for the datasource.
+
+            The "xa-datasource-class" must be set when type is XAPooledDataSource,
+            "conn-pooled-datasource-class" must be set when type is PooledDataSource,
+            and "jdbc-driver-class" msut be set when the type is SimpleDataSource. It is
+            advisable to set the user-name and password as attributes rather than as a
+            property element. Alternatively, they may both be set as attributes of the
+            jndi-binding tag as well as an attribute of the property tag.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="config-property">
+              <xsd:complexType>
+                <xsd:sequence>
+                  <xsd:element name="config-property-name" type="xsd:string" />
+                  <xsd:element name="config-property-type" type="xsd:string" />
+                  <xsd:element name="config-property-value" type="xsd:string" />
+                </xsd:sequence>
+              </xsd:complexType>
+            </xsd:element>
+
+          </xsd:sequence>
+          <xsd:attribute name="blocking-timeout-seconds" type="xsd:string" use="optional" />
+          <xsd:attribute name="conn-pooled-datasource-class" type="xsd:string" use="optional" />
+          <xsd:attribute name="connection-url" type="xsd:string" use="optional" />
+          <xsd:attribute name="idle-timeout-seconds" type="xsd:string" use="optional" />
+          <xsd:attribute name="init-pool-size" type="xsd:string" use="optional" />
+          <xsd:attribute name="jdbc-driver-class" type="xsd:string" use="optional" />
+          <xsd:attribute name="jndi-name" type="xsd:string" use="required" />
+          <xsd:attribute name="login-timeout-seconds" type="xsd:string" use="optional" />
+          <xsd:attribute name="managed-conn-factory-class" type="xsd:string" use="optional" />
+          <xsd:attribute name="max-pool-size" type="xsd:string" use="optional" />
+          <xsd:attribute name="password" type="xsd:string" use="optional" />
+          <xsd:attribute name="transaction-type" type="xsd:string" use="optional" />
+          <xsd:attribute name="type" use="required">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="ManagedDataSource" />
+                <xsd:enumeration value="SimpleDataSource" />
+                <xsd:enumeration value="PooledDataSource" />
+                <xsd:enumeration value="XAPooledDataSource" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="user-name" type="xsd:string" use="optional" />
+          <xsd:attribute name="xa-datasource-class" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:simpleType name="enum-action-destroy-overflow">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="local-destroy" />
+      <xsd:enumeration value="overflow-to-disk" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="parameter-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "parameter" element describes a parameter used to initialize a Declarable object.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element name="string" type="gf:string-type" />
+      <xsd:element name="declarable" type="gf:declarable-type" />
+    </xsd:choice>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+  </xsd:complexType>
+
+  <xsd:complexType name="string-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "string" element specifies a String to be placed in a Region entry.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string"></xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:simpleType name="versionType">
+    <xsd:annotation>
+      <xsd:documentation>
+        Decimal version type.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+<!-- TODO -->
+    <!-- Will put refid later.....refid   IDREF #IMPLIED -->
+
+</xsd:schema>


[2/5] incubator-geode git commit: GEODE-386: Change xsd namespace to apache

Posted by je...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXmlGeode10DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXmlGeode10DUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXmlGeode10DUnitTest.java
new file mode 100644
index 0000000..57e3a13
--- /dev/null
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXmlGeode10DUnitTest.java
@@ -0,0 +1,234 @@
+/*
+ * 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.
+ */
+
+/**
+ * 
+ */
+package com.gemstone.gemfire.cache30;
+
+import com.gemstone.gemfire.cache.Cache;
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.distributed.internal.DistributionConfig;
+import com.gemstone.gemfire.internal.cache.LocalRegion;
+import com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation;
+import com.gemstone.gemfire.internal.cache.xmlcache.CacheXml;
+import com.gemstone.gemfire.internal.cache.xmlcache.RegionAttributesCreation;
+import com.gemstone.gemfire.internal.cache.xmlcache.ResourceManagerCreation;
+import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
+import com.gemstone.gemfire.test.dunit.IgnoredException;
+
+
+public class CacheXmlGeode10DUnitTest extends CacheXml81DUnitTest {
+  private static final long serialVersionUID = -6437436147079728413L;
+
+  public CacheXmlGeode10DUnitTest(String name) {
+    super(name);
+  }
+
+  
+  // ////// Helper methods
+
+  protected String getGemFireVersion()
+  {
+    return CacheXml.VERSION_1_0;
+  }
+
+  @SuppressWarnings("rawtypes")
+  public void testEnableOffHeapMemory() {
+    try {
+      System.setProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME, "1m");
+      
+      final String regionName = "testEnableOffHeapMemory";
+      
+      final CacheCreation cache = new CacheCreation();
+      final RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
+      attrs.setOffHeap(true);
+      assertEquals(true, attrs.getOffHeap());
+      
+      final Region regionBefore = cache.createRegion(regionName, attrs);
+      assertNotNull(regionBefore);
+      assertEquals(true, regionBefore.getAttributes().getOffHeap());
+  
+      testXml(cache);
+      
+      final Cache c = getCache();
+      assertNotNull(c);
+  
+      final Region regionAfter = c.getRegion(regionName);
+      assertNotNull(regionAfter);
+      assertEquals(true, regionAfter.getAttributes().getOffHeap());
+      assertEquals(true, ((LocalRegion)regionAfter).getOffHeap());
+      regionAfter.localDestroyRegion();
+    } finally {
+      System.clearProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME);
+    }
+  }
+
+  @SuppressWarnings("rawtypes")
+  public void testEnableOffHeapMemoryRootRegionWithoutOffHeapMemoryThrowsException() {
+    final String regionName = getUniqueName();
+    
+    final CacheCreation cache = new CacheCreation();
+    final RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
+    attrs.setOffHeap(true);
+    assertEquals(true, attrs.getOffHeap());
+    
+    final Region regionBefore = cache.createRegion(regionName, attrs);
+    assertNotNull(regionBefore);
+    assertEquals(true, regionBefore.getAttributes().getOffHeap());
+
+    IgnoredException expectedException = IgnoredException.addIgnoredException(LocalizedStrings.
+        LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.toLocalizedString("/"+regionName));
+    try {
+      testXml(cache);
+    } catch (IllegalStateException e) {
+      // expected
+      String msg = LocalizedStrings.LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.toLocalizedString("/"+regionName);
+      assertEquals(msg, e.getMessage());
+    } finally {
+      expectedException.remove();
+    }
+  }
+  
+  @SuppressWarnings({ "rawtypes", "deprecation", "unchecked" })
+  public void testEnableOffHeapMemorySubRegionWithoutOffHeapMemoryThrowsException() {
+    final String rootRegionName = getUniqueName();
+    final String subRegionName = "subRegion";
+    
+    final CacheCreation cache = new CacheCreation();
+    final RegionAttributesCreation rootRegionAttrs = new RegionAttributesCreation(cache);
+    assertEquals(false, rootRegionAttrs.getOffHeap());
+    
+    final Region rootRegionBefore = cache.createRegion(rootRegionName, rootRegionAttrs);
+    assertNotNull(rootRegionBefore);
+    assertEquals(false, rootRegionBefore.getAttributes().getOffHeap());
+    
+    final RegionAttributesCreation subRegionAttrs = new RegionAttributesCreation(cache);
+    subRegionAttrs.setOffHeap(true);
+    assertEquals(true, subRegionAttrs.getOffHeap());
+    
+    final Region subRegionBefore = rootRegionBefore.createSubregion(subRegionName, subRegionAttrs);
+    assertNotNull(subRegionBefore);
+    assertEquals(true, subRegionBefore.getAttributes().getOffHeap());
+
+    IgnoredException expectedException = IgnoredException.addIgnoredException(LocalizedStrings.
+        LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.toLocalizedString("/"+rootRegionName+"/"+subRegionName));
+    try {
+      testXml(cache);
+    } catch (IllegalStateException e) {
+      // expected
+      final String msg = LocalizedStrings.LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.
+          toLocalizedString("/" + rootRegionName + "/" + subRegionName);
+      assertEquals(msg, e.getMessage());
+    } finally {
+      expectedException.remove();
+    }
+  }
+
+  /**
+   * Test the ResourceManager element's critical-off-heap-percentage and 
+   * eviction-off-heap-percentage attributes
+   * @throws Exception
+   */
+  public void testResourceManagerThresholds() throws Exception {
+    CacheCreation cache = new CacheCreation();
+    final float low = 90.0f;
+    final float high = 95.0f;
+
+    try {
+      System.setProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME, "1m");
+
+      Cache c;
+      ResourceManagerCreation rmc = new ResourceManagerCreation();
+      rmc.setEvictionOffHeapPercentage(low);
+      rmc.setCriticalOffHeapPercentage(high);
+      cache.setResourceManagerCreation(rmc);
+      testXml(cache);
+      {
+        c = getCache();
+        assertEquals(low, c.getResourceManager().getEvictionOffHeapPercentage());
+        assertEquals(high, c.getResourceManager().getCriticalOffHeapPercentage());
+      }
+      closeCache();
+      
+      rmc = new ResourceManagerCreation();
+      // Set them to similar values
+      rmc.setEvictionOffHeapPercentage(low);
+      rmc.setCriticalOffHeapPercentage(low + 1);
+      cache.setResourceManagerCreation(rmc);
+      testXml(cache);
+      {
+        c = getCache();
+        assertEquals(low, c.getResourceManager().getEvictionOffHeapPercentage());
+        assertEquals(low + 1, c.getResourceManager().getCriticalOffHeapPercentage());
+      }
+      closeCache();
+  
+      rmc = new ResourceManagerCreation();
+      rmc.setEvictionOffHeapPercentage(high);
+      rmc.setCriticalOffHeapPercentage(low);
+      cache.setResourceManagerCreation(rmc);
+      IgnoredException expectedException = IgnoredException.addIgnoredException(LocalizedStrings.MemoryMonitor_EVICTION_PERCENTAGE_LTE_CRITICAL_PERCENTAGE.toLocalizedString());
+      try {
+        testXml(cache);
+        assertTrue(false);
+      } catch (IllegalArgumentException expected) {
+      } finally {
+        expectedException.remove();
+        closeCache();
+      }
+  
+      // Disable eviction
+      rmc = new ResourceManagerCreation();
+      rmc.setEvictionOffHeapPercentage(0);
+      rmc.setCriticalOffHeapPercentage(low);
+      cache.setResourceManagerCreation(rmc);
+      testXml(cache);
+      {
+        c = getCache();
+        assertEquals(0f, c.getResourceManager().getEvictionOffHeapPercentage());
+        assertEquals(low, c.getResourceManager().getCriticalOffHeapPercentage());
+      }
+      closeCache();
+  
+      // Disable refusing ops in "red zone"
+      rmc = new ResourceManagerCreation();
+      rmc.setEvictionOffHeapPercentage(low);
+      rmc.setCriticalOffHeapPercentage(0);
+      cache.setResourceManagerCreation(rmc);
+      testXml(cache);
+      {
+        c = getCache();
+        assertEquals(low, c.getResourceManager().getEvictionOffHeapPercentage());
+        assertEquals(0f, c.getResourceManager().getCriticalOffHeapPercentage());
+      }
+      closeCache();
+  
+      // Disable both
+      rmc = new ResourceManagerCreation();
+      rmc.setEvictionOffHeapPercentage(0);
+      rmc.setCriticalOffHeapPercentage(0);
+      cache.setResourceManagerCreation(rmc);
+      testXml(cache);
+      c = getCache();
+      assertEquals(0f, c.getResourceManager().getEvictionOffHeapPercentage());
+      assertEquals(0f, c.getResourceManager().getCriticalOffHeapPercentage());
+    } finally {
+      System.clearProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME);
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/SharedConfigurationJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/SharedConfigurationJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/SharedConfigurationJUnitTest.java
index 963f7ce..f308855 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/SharedConfigurationJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/SharedConfigurationJUnitTest.java
@@ -48,7 +48,7 @@ public class SharedConfigurationJUnitTest {
     String schemaLocation = XmlUtils.getAttribute(doc.getDocumentElement(), W3C_XML_SCHEMA_INSTANCE_ATTRIBUTE_SCHEMA_LOCATION, W3C_XML_SCHEMA_INSTANCE_NS_URI);
 
     assertNotNull(schemaLocation);
-    assertEquals(CacheXml.NAMESPACE + " " + CacheXml.LATEST_SCHEMA_LOCATION, schemaLocation);
+    assertEquals(CacheXml.GEODE_NAMESPACE + " " + CacheXml.LATEST_SCHEMA_LOCATION, schemaLocation);
 
     assertEquals(CacheXml.VERSION_LATEST, XmlUtils.getAttribute(doc.getDocumentElement(), "version"));
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/AbstractEntityResolverTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/AbstractEntityResolverTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/AbstractEntityResolverTest.java
new file mode 100644
index 0000000..f42d52c
--- /dev/null
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/AbstractEntityResolverTest.java
@@ -0,0 +1,140 @@
+/*
+ * 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.
+ */
+
+package com.gemstone.gemfire.internal.cache.xmlcache;
+
+import com.gemstone.gemfire.internal.ClassPathLoader;
+import org.junit.Test;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.ext.EntityResolver2;
+
+import java.io.IOException;
+import java.util.ServiceLoader;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Unit test for {@link PivotalEntityResolver} and
+ * {@link DefaultEntityResolver2}.
+ */
+public abstract class AbstractEntityResolverTest {
+
+  public abstract EntityResolver getEntityResolver();
+
+  public abstract String getSystemId();
+
+  /**
+   * Assert that {@link PivotalEntityResolver} extends
+   * {@link DefaultEntityResolver2}.
+   * 
+   * @since 8.1
+   */
+  @Test
+  public void testInstanceOfDefaultEntityResolver2() {
+    assertTrue(DefaultEntityResolver2.class.isAssignableFrom(getEntityResolver().getClass()));
+  }
+
+  /**
+   * Find the {@link PivotalEntityResolver} in the {@link ClassPathLoader}.
+   * Verifies that the META-INF/services file is correctly found and the the
+   * implementation class is loadable.
+   * 
+   * @since 8.1
+   */
+  @Test
+  public void testDiscovery() {
+    boolean found = false;
+    final ServiceLoader<EntityResolver2> entityResolvers = ServiceLoader.load(EntityResolver2.class, ClassPathLoader.getLatestAsClassLoader());
+    for (final EntityResolver2 entityResolver : entityResolvers) {
+      if (getEntityResolver().getClass().isAssignableFrom(entityResolver.getClass())) {
+        found = true;
+        break;
+      }
+    }
+    assertTrue("Resolver not found.", found);
+  }
+
+  /**
+   * Resolve the cache.xml XSD using the {@link PivotalEntityResolver}. Verifies
+   * that the META-INF/schemas files are correctly found.
+   * 
+   * @throws SAXException
+   * @throws IOException
+   * @since 8.1
+   */
+  @Test
+  public void testResolveEntity() throws SAXException, IOException {
+    final InputSource inputSource = getEntityResolver().resolveEntity(null, getSystemId());
+    assertNotNull(inputSource);
+    assertEquals(getSystemId(), inputSource.getSystemId());
+  }
+
+  /**
+   * Test {@link PivotalEntityResolver#resolveEntity(String, String)} with
+   * <code>null</code> <code>systemId</code>. Asserts that returns to
+   * <code>null<code>.
+   * 
+   * @throws SAXException
+   * @throws IOException
+   * @since 8.1
+   */
+  @Test
+  public void testResolveEntityNullSystemId() throws SAXException, IOException {
+    final String systemId = null;
+    final InputSource inputSource = getEntityResolver().resolveEntity(null, systemId);
+    assertNull(inputSource);
+  }
+
+  /**
+   * Test {@link PivotalEntityResolver#resolveEntity(String, String)} with
+   * <code>"--not-a-valid-system-id--"</code> <code>systemId</code>, which is
+   * not in the Pivotal namespace.. Asserts that returns to <code>null<code>.
+   * 
+   * @throws SAXException
+   * @throws IOException
+   * @since 8.1
+   */
+  @Test
+  public void testResolveEntityUnkownSystemId() throws SAXException, IOException {
+    final String systemId = "--not-a-valid-system-id--";
+    final InputSource inputSource = getEntityResolver().resolveEntity(null, systemId);
+    assertNull(inputSource);
+  }
+
+  /**
+   * Test {@link PivotalEntityResolver#resolveEntity(String, String)} with
+   * <code>"http://schema.pivotal.io/this/should/be/not/found.xsd"</code>
+   * <code>systemId</code>, which should not be found. Asserts that returns to
+   * <code>null<code>.
+   * 
+   * @throws SAXException
+   * @throws IOException
+   * @since 8.1
+   */
+  @Test
+  public void testResolveEntityNotFoundSystemId() throws SAXException, IOException {
+    final String systemId = "http://schema.pivotal.io/this/should/be/not/found.xsd";
+    final InputSource inputSource = getEntityResolver().resolveEntity(null, systemId);
+    assertNull(inputSource);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersionJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersionJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersionJUnitTest.java
index eb4ce86..a51ce2b 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersionJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersionJUnitTest.java
@@ -41,21 +41,21 @@ public class CacheXmlVersionJUnitTest {
    */
   @Test
   public void testOrdinal() {
-    assertTrue(VERSION_3_0.compareTo(VERSION_4_0) < 0);
-    assertTrue(VERSION_4_0.compareTo(VERSION_4_1) < 0);
-    assertTrue(VERSION_4_1.compareTo(VERSION_5_0) < 0);
-    assertTrue(VERSION_5_0.compareTo(VERSION_5_1) < 0);
-    assertTrue(VERSION_5_1.compareTo(VERSION_5_5) < 0);
-    assertTrue(VERSION_5_5.compareTo(VERSION_5_7) < 0);
-    assertTrue(VERSION_5_7.compareTo(VERSION_5_8) < 0);
-    assertTrue(VERSION_5_8.compareTo(VERSION_6_0) < 0);
-    assertTrue(VERSION_6_0.compareTo(VERSION_6_1) < 0);
-    assertTrue(VERSION_6_1.compareTo(VERSION_6_5) < 0);
-    assertTrue(VERSION_6_5.compareTo(VERSION_6_6) < 0);
-    assertTrue(VERSION_6_6.compareTo(VERSION_7_0) < 0);
-    assertTrue(VERSION_7_0.compareTo(VERSION_8_0) < 0);
-    assertTrue(VERSION_8_0.compareTo(VERSION_8_1) < 0);
-    assertTrue(VERSION_8_1.compareTo(VERSION_9_0) < 0);
+    assertTrue(GEMFIRE_3_0.compareTo(GEMFIRE_4_0) < 0);
+    assertTrue(GEMFIRE_4_0.compareTo(GEMFIRE_4_1) < 0);
+    assertTrue(GEMFIRE_4_1.compareTo(GEMFIRE_5_0) < 0);
+    assertTrue(GEMFIRE_5_0.compareTo(GEMFIRE_5_1) < 0);
+    assertTrue(GEMFIRE_5_1.compareTo(GEMFIRE_5_5) < 0);
+    assertTrue(GEMFIRE_5_5.compareTo(GEMFIRE_5_7) < 0);
+    assertTrue(GEMFIRE_5_7.compareTo(GEMFIRE_5_8) < 0);
+    assertTrue(GEMFIRE_5_8.compareTo(GEMFIRE_6_0) < 0);
+    assertTrue(GEMFIRE_6_0.compareTo(GEMFIRE_6_1) < 0);
+    assertTrue(GEMFIRE_6_1.compareTo(GEMFIRE_6_5) < 0);
+    assertTrue(GEMFIRE_6_5.compareTo(GEMFIRE_6_6) < 0);
+    assertTrue(GEMFIRE_6_6.compareTo(GEMFIRE_7_0) < 0);
+    assertTrue(GEMFIRE_7_0.compareTo(GEMFIRE_8_0) < 0);
+    assertTrue(GEMFIRE_8_0.compareTo(GEMFIRE_8_1) < 0);
+    assertTrue(GEMFIRE_8_1.compareTo(GEODE_1_0) < 0);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolverJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolverJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolverJUnitTest.java
new file mode 100644
index 0000000..2fef8b3
--- /dev/null
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolverJUnitTest.java
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+package com.gemstone.gemfire.internal.cache.xmlcache;
+
+import com.gemstone.gemfire.test.junit.categories.UnitTest;
+import org.junit.Before;
+import org.junit.experimental.categories.Category;
+import org.xml.sax.EntityResolver;
+
+/**
+ * Unit test for {@link GeodeEntityResolver} and
+ * {@link DefaultEntityResolver2}.
+ */
+@Category(UnitTest.class)
+public class GeodeEntityResolverJUnitTest extends AbstractEntityResolverTest {
+
+  private EntityResolver entityResolver;
+
+  private final String systemId = "http://geode.apache.org/schema/cache/cache-1.0.xsd";
+
+  @Before
+  public void setup() throws Exception {
+    entityResolver = new GeodeEntityResolver();
+  }
+
+  public EntityResolver getEntityResolver() {
+    return entityResolver;
+  }
+
+  public String getSystemId() {
+    return systemId;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/PivotalEntityResolverJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/PivotalEntityResolverJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/PivotalEntityResolverJUnitTest.java
index 800e5ce..ce4941e 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/PivotalEntityResolverJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/xmlcache/PivotalEntityResolverJUnitTest.java
@@ -17,19 +17,10 @@
 
 package com.gemstone.gemfire.internal.cache.xmlcache;
 
-import static org.junit.Assert.*;
-
-import java.io.IOException;
-import java.util.ServiceLoader;
-
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.EntityResolver2;
-
-import com.gemstone.gemfire.internal.ClassPathLoader;
 import com.gemstone.gemfire.test.junit.categories.UnitTest;
+import org.junit.Before;
+import org.junit.experimental.categories.Category;
+import org.xml.sax.EntityResolver;
 
 /**
  * Unit test for {@link PivotalEntityResolver} and
@@ -39,106 +30,23 @@ import com.gemstone.gemfire.test.junit.categories.UnitTest;
  * @since 8.1
  */
 @Category(UnitTest.class)
-public class PivotalEntityResolverJUnitTest {
+public class PivotalEntityResolverJUnitTest extends AbstractEntityResolverTest {
 
-  /**
-   * Assert that {@link PivotalEntityResolver} extends
-   * {@link DefaultEntityResolver2}.
-   * 
-   * @since 8.1
-   */
-  @Test
-  public void testInstanceOfDefaultEntityResolver2() {
-    assertTrue(DefaultEntityResolver2.class.isAssignableFrom(PivotalEntityResolver.class));
-  }
-
-  /**
-   * Find the {@link PivotalEntityResolver} in the {@link ClassPathLoader}.
-   * Verifies that the META-INF/services file is correctly found and the the
-   * implementation class is loadable.
-   * 
-   * @since 8.1
-   */
-  @Test
-  public void testDiscovery() {
-    boolean found = false;
-    final ServiceLoader<EntityResolver2> entityResolvers = ServiceLoader.load(EntityResolver2.class, ClassPathLoader.getLatestAsClassLoader());
-    for (final EntityResolver2 entityResolver : entityResolvers) {
-      if (entityResolver instanceof PivotalEntityResolver) {
-        found = true;
-        break;
-      }
-    }
-    assertTrue("Resolver not found.", found);
-  }
+  private EntityResolver entityResolver;
 
-  /**
-   * Resolve the cache.xml XSD using the {@link PivotalEntityResolver}. Verifies
-   * that the META-INF/schemas files are correctly found.
-   * 
-   * @throws SAXException
-   * @throws IOException
-   * @since 8.1
-   */
-  @Test
-  public void testResolveEntity() throws SAXException, IOException {
-    final PivotalEntityResolver entityResolver = new PivotalEntityResolver();
-    final String systemId = "http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd";
-    final InputSource inputSource = entityResolver.resolveEntity(null, systemId);
-    assertNotNull(inputSource);
-    assertEquals(systemId, inputSource.getSystemId());
-  }
+  private final String systemId = "http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd";
 
-  /**
-   * Test {@link PivotalEntityResolver#resolveEntity(String, String)} with
-   * <code>null</code> <code>systemId</code>. Asserts that returns to
-   * <code>null<code>.
-   * 
-   * @throws SAXException
-   * @throws IOException
-   * @since 8.1
-   */
-  @Test
-  public void testResolveEntityNullSystemId() throws SAXException, IOException {
-    final PivotalEntityResolver entityResolver = new PivotalEntityResolver();
-    final String systemId = null;
-    final InputSource inputSource = entityResolver.resolveEntity(null, systemId);
-    assertNull(inputSource);
+  @Before
+  public void setup() throws Exception {
+    entityResolver = new PivotalEntityResolver();
   }
 
-  /**
-   * Test {@link PivotalEntityResolver#resolveEntity(String, String)} with
-   * <code>"--not-a-valid-system-id--"</code> <code>systemId</code>, which is
-   * not in the Pivotal namespace.. Asserts that returns to <code>null<code>.
-   * 
-   * @throws SAXException
-   * @throws IOException
-   * @since 8.1
-   */
-  @Test
-  public void testResolveEntityUnkownSystemId() throws SAXException, IOException {
-    final PivotalEntityResolver entityResolver = new PivotalEntityResolver();
-    final String systemId = "--not-a-valid-system-id--";
-    final InputSource inputSource = entityResolver.resolveEntity(null, systemId);
-    assertNull(inputSource);
+  public EntityResolver getEntityResolver() {
+    return entityResolver;
   }
 
-  /**
-   * Test {@link PivotalEntityResolver#resolveEntity(String, String)} with
-   * <code>"http://schema.pivotal.io/this/should/be/not/found.xsd"</code>
-   * <code>systemId</code>, which shound not be found. Asserts that returns to
-   * <code>null<code>.
-   * 
-   * @throws SAXException
-   * @throws IOException
-   * @since 8.1
-   */
-  @Test
-  public void testResolveEntityNotFoundSystemId() throws SAXException, IOException {
-    final PivotalEntityResolver entityResolver = new PivotalEntityResolver();
-    final String systemId = "http://schema.pivotal.io/this/should/be/not/found.xsd";
-    final InputSource inputSource = entityResolver.resolveEntity(null, systemId);
-    assertNull(inputSource);
+  public String getSystemId() {
+    return systemId;
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.java
index bcb88c0..dca5d0b 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.java
@@ -69,7 +69,7 @@ public class CacheElementJUnitTest {
    */
   @Test
   public void testCacheDefinedAsNestedComplexType8_1() throws Exception {
-    Document doc = loadSchema(CacheXmlVersion.VERSION_8_1.getSchemaLocation());
+    Document doc = loadSchema(CacheXmlVersion.GEMFIRE_8_1.getSchemaLocation());
     final XPathContext xPathContext = new XPathContext(CacheElement.XSD_PREFIX, XMLConstants.W3C_XML_SCHEMA_NS_URI);
     final Node cacheType = XmlUtils.querySingleElement(doc.getFirstChild(), CacheElement.CACHE_TYPE_EMBEDDED, xPathContext);
     assertNotNull("Cache type is not embedded complexType.", cacheType);
@@ -118,9 +118,9 @@ public class CacheElementJUnitTest {
     assertEntry("gateway-conflict-resolver", order++, entries.next());
     assertEntry("async-event-queue", order++, entries.next());
     assertEntry("cache-server", order++, entries.next());
-    assertEntry("bridge-server", order++, entries.next());
     assertEntry("pool", order++, entries.next());
     assertEntry("disk-store", order++, entries.next());
+    assertEntry("hdfs-store", order++, entries.next());
     assertEntry("pdx", order++, entries.next());
     assertEntry("region-attributes", order++, entries.next());
     assertEntry("jndi-bindings", order++, entries.next());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.java
index d8c52c6..ff4980d 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.java
@@ -69,7 +69,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
   @BeforeClass
   public static void beforeClass() {
     cache = new CacheFactory().set("mcast-port", "0").create();
-    xPathContext.addNamespace(CacheXml.PREFIX, CacheXml.NAMESPACE);
+    xPathContext.addNamespace(CacheXml.PREFIX, CacheXml.GEODE_NAMESPACE);
     xPathContext.addNamespace(TEST_PREFIX, TEST_NAMESPACE);
   }
 
@@ -105,7 +105,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     nodes = XmlUtils.query(changes, xPath, xPathContext);
     assertEquals(1, nodes.getLength());
     Element element = (Element) nodes.item(0);
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final XmlEntity xmlEntity = XmlEntity.builder().withType("region").withAttribute("name", "r3").withConfig(changes).build();
     XmlUtils.addNewNode(config, xmlEntity);
@@ -113,7 +113,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     nodes = XmlUtils.query(config, xPath, xPathContext);
     assertEquals(1, nodes.getLength());
     element = (Element) nodes.item(0);
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final List<Node> childNodes = getElementNodes(config.getFirstChild().getChildNodes());
 
@@ -158,7 +158,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     nodes = XmlUtils.query(changes, xPath, xPathContext);
     assertEquals(1, nodes.getLength());
     Element element = (Element) nodes.item(0);
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final XmlEntity xmlEntity = XmlEntity.builder().withType("jndi-bindings").withConfig(changes).build();
     XmlUtils.addNewNode(config, xmlEntity);
@@ -166,7 +166,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     nodes = XmlUtils.query(config, xPath, xPathContext);
     assertEquals(1, nodes.getLength());
     element = (Element) nodes.item(0);
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final List<Node> childElements = getElementNodes(config.getFirstChild().getChildNodes());
     assertEquals("pdx", childElements.get(2).getNodeName());
@@ -231,7 +231,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     Element element = (Element) nodes.item(0);
     assertEquals(1, getElementNodes(element.getChildNodes()).size());
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final Document changes = XmlUtils.createDocumentFromReader(new InputStreamReader(this.getClass().getResourceAsStream(
         "XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceNamed.xml")));
@@ -239,7 +239,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     element = (Element) nodes.item(0);
     assertEquals(0, element.getChildNodes().getLength());
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final XmlEntity xmlEntity = XmlEntity.builder().withType("region").withAttribute("name", "r1").withConfig(changes).build();
     XmlUtils.addNewNode(config, xmlEntity);
@@ -248,7 +248,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     element = (Element) nodes.item(0);
     assertEquals(0, element.getChildNodes().getLength());
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
   }
 
   /**
@@ -266,7 +266,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     Element element = (Element) nodes.item(0);
     assertEquals("foo", XmlUtils.getAttribute(element, "disk-store-name"));
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final Document changes = XmlUtils.createDocumentFromReader(new InputStreamReader(this.getClass().getResourceAsStream(
         "XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamed.xml")));
@@ -274,7 +274,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     element = (Element) nodes.item(0);
     assertEquals("bar", XmlUtils.getAttribute(element, "disk-store-name"));
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final XmlEntity xmlEntity = XmlEntity.builder().withType("pdx").withConfig(changes).build();
     XmlUtils.addNewNode(config, xmlEntity);
@@ -283,7 +283,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     element = (Element) nodes.item(0);
     assertEquals("bar", XmlUtils.getAttribute(element, "disk-store-name"));
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
   }
 
   /**
@@ -338,7 +338,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     Element element = (Element) nodes.item(0);
     assertEquals(1, getElementNodes(element.getChildNodes()).size());
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final Document changes = XmlUtils.createDocumentFromReader(new InputStreamReader(this.getClass().getResourceAsStream(
         "XmlUtilsAddNewNodeJUnitTest.testDeleteNodeNamed.xml")));
@@ -367,7 +367,7 @@ public class XmlUtilsAddNewNodeJUnitTest {
     assertEquals(1, nodes.getLength());
     Element element = (Element) nodes.item(0);
     assertEquals("foo", XmlUtils.getAttribute(element, "disk-store-name"));
-    assertEquals(CacheXml.NAMESPACE, element.getNamespaceURI());
+    assertEquals(CacheXml.GEODE_NAMESPACE, element.getNamespaceURI());
 
     final Document changes = XmlUtils.createDocumentFromReader(new InputStreamReader(this.getClass().getResourceAsStream(
         "XmlUtilsAddNewNodeJUnitTest.testDeleteNodeUnnamed.xml")));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.java
index 0e14501..24702c3 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.java
@@ -69,10 +69,10 @@ public class XmlUtilsJUnitTest {
     assertNotNull(schemaLocationMap);
     assertEquals(2, schemaLocationMap.size());
 
-    final List<String> locations1 = schemaLocationMap.get("http://schema.pivotal.io/gemfire/cache");
+    final List<String> locations1 = schemaLocationMap.get("http://geode.apache.org/schema/cache");
     assertNotNull(locations1);
     assertEquals(1, locations1.size());
-    assertEquals("http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd", locations1.get(0));
+    assertEquals("http://geode.apache.org/schema/cache/cache-1.0.xsd", locations1.get(0));
 
     final List<String> locations2 = schemaLocationMap.get("urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest");
     assertNotNull(locations2);
@@ -109,11 +109,11 @@ public class XmlUtilsJUnitTest {
     assertNotNull(schemaLocationMap);
     assertEquals(3, schemaLocationMap.size());
 
-    final List<String> locations1 = schemaLocationMap.get("http://schema.pivotal.io/gemfire/cache");
+    final List<String> locations1 = schemaLocationMap.get("http://geode.apache.org/schema/cache");
     assertNotNull(locations1);
     assertEquals(2, locations1.size());
-    assertEquals("http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd", locations1.get(0));
-    assertEquals("cache-8.1.xsd", locations1.get(1));
+    assertEquals("http://geode.apache.org/schema/cache/cache-1.0.xsd", locations1.get(0));
+    assertEquals("cache-1.0.xsd", locations1.get(1));
 
     final List<String> locations2 = schemaLocationMap.get("urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest");
     assertNotNull(locations2);
@@ -179,7 +179,7 @@ public class XmlUtilsJUnitTest {
     final Document doc = XmlUtils.createDocumentFromReader(new InputStreamReader(this.getClass().getResourceAsStream(
         "XmlUtilsJUnitTest.testQuerySingleElement.xml")));
     final Element root = doc.getDocumentElement();
-    final String cacheNamespace = "http://schema.pivotal.io/gemfire/cache";
+    final String cacheNamespace = "http://geode.apache.org/schema/cache";
     final XPathContext cacheXPathContext = new XPathContext("cache", cacheNamespace);
 
     // There are mulitple region elements, this should get the first one.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.xml
index 269ddcf..d995b91 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/domain/CacheElementJUnitTest.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
 </cache>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewNamed.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewNamed.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewNamed.xml
index 3055f31..62c21c3 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewNamed.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewNamed.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamed.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamed.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamed.xml
index fb50e6b..b2695c7 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamed.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamed.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamedExtension.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamedExtension.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamedExtension.xml
index 38f791d..c51117b 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamedExtension.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeNewUnnamedExtension.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceNamed.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceNamed.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceNamed.xml
index 4f5b1a1..4139da0 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceNamed.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceNamed.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamed.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamed.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamed.xml
index 4db3799..fd661f1 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamed.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamed.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamedExtension.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamedExtension.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamedExtension.xml
index a3238d8..2267ccd 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamedExtension.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testAddNewNodeReplaceUnnamedExtension.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testDeleteNodeUnnamed.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testDeleteNodeUnnamed.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testDeleteNodeUnnamed.xml
index b325fbf..a461cc8 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testDeleteNodeUnnamed.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.testDeleteNodeUnnamed.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.xml
index bdefa30..bb19ce7 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsAddNewNodeJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
-    version="8.1">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapAttribute.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapAttribute.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapAttribute.xml
index 832d756..82d3920 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapAttribute.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapAttribute.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd
                         urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest classpath:/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.xsd
                         urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest XmlUtilsJUnitTest.xsd"
-    version="8.1">
+    version="1.0">
 </cache>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapEmptyAttribute.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapEmptyAttribute.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapEmptyAttribute.xml
index 05843bf..64a8fa4 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapEmptyAttribute.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapEmptyAttribute.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest"
     xsi:schemaLocation=""
-    version="8.1">
+    version="1.0">
 </cache>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapMapOfStringListOfStringAttribute.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapMapOfStringListOfStringAttribute.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapMapOfStringListOfStringAttribute.xml
index 87b3cac..5604ac9 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapMapOfStringListOfStringAttribute.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapMapOfStringListOfStringAttribute.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache cache-8.1.xsd
+    xsi:schemaLocation="http://geode.apache.org/schema/cache cache-1.0.xsd
                         urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest classpath:/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.xsd
                         urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest2 XmlUtilsJUnitTest2.xsd"
-    version="8.1">
+    version="1.0">
 </cache>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapNullAttribute.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapNullAttribute.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapNullAttribute.xml
index 95d11b3..87997c1 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapNullAttribute.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testBuildSchemaLocationMapNullAttribute.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest"
-    version="8.1">
+    version="1.0">
 </cache>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testQuerySingleElement.xml
----------------------------------------------------------------------
diff --git a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testQuerySingleElement.xml b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testQuerySingleElement.xml
index 76b851e..4593074 100644
--- a/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testQuerySingleElement.xml
+++ b/geode-core/src/test/resources/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest.testQuerySingleElement.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:test="urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd
                         urn:java:com/gemstone/gemfire/management/internal/configuration/utils/XmlUtilsJUnitTest XmlUtilsJUnitTest.xsd"
-    version="8.1">
+    version="1.0">
   <async-event-queue id="aeq1">
     <async-event-listener>
       <class-name>null</class-name>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-lucene/src/main/resources/META-INF/schemas/geode.apache.org/lucene/lucene-1.0.xsd
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/resources/META-INF/schemas/geode.apache.org/lucene/lucene-1.0.xsd b/geode-lucene/src/main/resources/META-INF/schemas/geode.apache.org/lucene/lucene-1.0.xsd
index bfe9f6c..6fd7306 100644
--- a/geode-lucene/src/main/resources/META-INF/schemas/geode.apache.org/lucene/lucene-1.0.xsd
+++ b/geode-lucene/src/main/resources/META-INF/schemas/geode.apache.org/lucene/lucene-1.0.xsd
@@ -23,22 +23,22 @@ limitations under the License.
     version="1.0">
   
   <xsd:import
-      namespace="http://schema.pivotal.io/gemfire/cache"
-      schemaLocation="http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd"/>
+      namespace="http://geode.apache.org/schema/cache"
+      schemaLocation="http://geode.apache.org/schema/cache/cache-1.0.xsd"/>
   
   <xsd:annotation>
     <xsd:documentation><![CDATA[
 XML schema for Lucene indexes in Geode.
 
   <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:lucene="http://geode.apache.org/schema/lucene"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache
-        http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd
+    xsi:schemaLocation="http://geode.apache.org/schema/cache
+        http://geode.apache.org/schema/cache/cache-1.0.xsd
         http://geode.apache.org/schema/lucene
         http://geode.apache.org/schema/lucene/lucene-1.0.xsd"
-    version="9.0">
+    version="1.0">
     
     ]]></xsd:documentation>
   </xsd:annotation>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.createIndex.cache.xml
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.createIndex.cache.xml b/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.createIndex.cache.xml
index 47f3250..89d5bef 100644
--- a/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.createIndex.cache.xml
+++ b/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.createIndex.cache.xml
@@ -17,14 +17,14 @@
 -->
 
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:lucene="http://geode.apache.org/schema/lucene"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache
-        http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd
+    xsi:schemaLocation="http://geode.apache.org/schema/cache
+        http://geode.apache.org/schema/cache/cache-1.0.xsd
         http://geode.apache.org/schema/lucene
         http://geode.apache.org/schema/lucene/lucene-1.0.xsd"
-    version="9.0">
+    version="1.0">
 
 	<region name="region" refid="PARTITION">
     	<lucene:index name="index1">

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.parseIndex.cache.xml
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.parseIndex.cache.xml b/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.parseIndex.cache.xml
index 47f3250..89d5bef 100644
--- a/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.parseIndex.cache.xml
+++ b/geode-lucene/src/test/resources/com/gemstone/gemfire/cache/lucene/internal/xml/LuceneIndexXmlParserIntegrationJUnitTest.parseIndex.cache.xml
@@ -17,14 +17,14 @@
 -->
 
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:lucene="http://geode.apache.org/schema/lucene"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache
-        http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd
+    xsi:schemaLocation="http://geode.apache.org/schema/cache
+        http://geode.apache.org/schema/cache/cache-1.0.xsd
         http://geode.apache.org/schema/lucene
         http://geode.apache.org/schema/lucene/lucene-1.0.xsd"
-    version="9.0">
+    version="1.0">
 
 	<region name="region" refid="PARTITION">
     	<lucene:index name="index1">

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java b/geode-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java
index 72f4d2f..fe9da93 100755
--- a/geode-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java
+++ b/geode-rebalancer/src/test/java/com/gemstone/gemfire/cache/util/AutoBalancerIntegrationJUnitTest.java
@@ -144,10 +144,10 @@ public class AutoBalancerIntegrationJUnitTest {
 
   @Test
   public void testInitializerCacheXML() {
-    String configStr = "<cache xmlns=\"http://schema.pivotal.io/gemfire/cache\"                          "
+    String configStr = "<cache xmlns=\"http://geode.apache.org/schema/cache\"                          "
         + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"                                      "
-        + " xsi:schemaLocation=\"http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd\""
-        + " version=\"9.0\">                                                                             "
+        + " xsi:schemaLocation=\"http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd\""
+        + " version=\"1.0\">                                                                             "
         + "   <initializer>                                                                              "
         + "     <class-name>com.gemstone.gemfire.cache.util.AutoBalancer</class-name>                    "
         + "     <parameter name=\"schedule\">                                                            "
@@ -161,10 +161,10 @@ public class AutoBalancerIntegrationJUnitTest {
 
   @Test(expected = GemFireConfigException.class)
   public void testInitFailOnMissingScheduleConf() {
-    String configStr = "<cache xmlns=\"http://schema.pivotal.io/gemfire/cache\"                          "
+    String configStr = "<cache xmlns=\"http://geode.apache.org/schema/cache\"                          "
         + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"                                      "
-        + " xsi:schemaLocation=\"http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd\""
-        + " version=\"9.0\">                                                                             "
+        + " xsi:schemaLocation=\"http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd\""
+        + " version=\"1.0\">                                                                             "
         + "   <initializer>                                                                              "
         + "     <class-name>com.gemstone.gemfire.cache.util.AutoBalancer</class-name>                    "
         + "   </initializer>                                                                             "


[5/5] incubator-geode git commit: GEODE-386: Change xsd namespace to apache

Posted by je...@apache.org.
GEODE-386: Change xsd namespace to apache


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/1458b985
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/1458b985
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/1458b985

Branch: refs/heads/feature/GEODE-386
Commit: 1458b985093b9db0ca88558a7d5ef87ac5f03e26
Parents: f612bf9
Author: Jens Deppe <jd...@pivotal.io>
Authored: Wed Apr 6 07:41:41 2016 -0700
Committer: Jens Deppe <jd...@pivotal.io>
Committed: Thu Apr 7 07:30:11 2016 -0700

----------------------------------------------------------------------
 .../release/conf/cache-client.xml               |    6 +-
 .../release/conf/cache-peer.xml                 |    6 +-
 .../release/conf/cache-server.xml               |    6 +-
 .../internal/SharedConfiguration.java           |    4 +-
 .../internal/cache/xmlcache/CacheXml.java       |   63 +-
 .../cache/xmlcache/CacheXmlGenerator.java       |  148 +-
 .../internal/cache/xmlcache/CacheXmlParser.java |    2 +-
 .../cache/xmlcache/CacheXmlVersion.java         |   56 +-
 .../cache/xmlcache/GeodeEntityResolver.java     |    2 +-
 .../configuration/domain/CacheElement.java      |    4 +-
 .../configuration/domain/XmlEntity.java         |    7 +-
 .../internal/configuration/utils/XmlUtils.java  |    6 +-
 .../geode.apache.org/schema/cache/cache-1.0.xsd | 1469 +++++++++++++++++
 .../gemfire/cache/cache-9.0.xsd                 | 1519 ------------------
 .../gemfire/cache30/CacheXml58DUnitTest.java    |    4 +-
 .../gemfire/cache30/CacheXml90DUnitTest.java    |  234 ---
 .../cache30/CacheXmlGeode10DUnitTest.java       |  234 +++
 .../internal/SharedConfigurationJUnitTest.java  |    2 +-
 .../xmlcache/AbstractEntityResolverTest.java    |  140 ++
 .../xmlcache/CacheXmlVersionJUnitTest.java      |   30 +-
 .../xmlcache/GeodeEntityResolverJUnitTest.java  |   49 +
 .../PivotalEntityResolverJUnitTest.java         |  118 +-
 .../domain/CacheElementJUnitTest.java           |    4 +-
 .../utils/XmlUtilsAddNewNodeJUnitTest.java      |   26 +-
 .../configuration/utils/XmlUtilsJUnitTest.java  |   12 +-
 .../domain/CacheElementJUnitTest.xml            |    6 +-
 ...dNewNodeJUnitTest.testAddNewNodeNewNamed.xml |    6 +-
 ...ewNodeJUnitTest.testAddNewNodeNewUnnamed.xml |    6 +-
 ...itTest.testAddNewNodeNewUnnamedExtension.xml |    6 +-
 ...NodeJUnitTest.testAddNewNodeReplaceNamed.xml |    6 +-
 ...deJUnitTest.testAddNewNodeReplaceUnnamed.xml |    6 +-
 ...st.testAddNewNodeReplaceUnnamedExtension.xml |    6 +-
 ...ddNewNodeJUnitTest.testDeleteNodeUnnamed.xml |    6 +-
 .../utils/XmlUtilsAddNewNodeJUnitTest.xml       |    6 +-
 ...Test.testBuildSchemaLocationMapAttribute.xml |    6 +-
 ...testBuildSchemaLocationMapEmptyAttribute.xml |    4 +-
 ...ationMapMapOfStringListOfStringAttribute.xml |    6 +-
 ....testBuildSchemaLocationMapNullAttribute.xml |    4 +-
 ...XmlUtilsJUnitTest.testQuerySingleElement.xml |    6 +-
 .../geode.apache.org/lucene/lucene-1.0.xsd      |   12 +-
 ...erIntegrationJUnitTest.createIndex.cache.xml |    8 +-
 ...serIntegrationJUnitTest.parseIndex.cache.xml |    8 +-
 .../util/AutoBalancerIntegrationJUnitTest.java  |   12 +-
 .../website/content/schema/cache/cache-1.0.xsd  | 1469 +++++++++++++++++
 44 files changed, 3637 insertions(+), 2103 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/extensions/geode-modules-assembly/release/conf/cache-client.xml
----------------------------------------------------------------------
diff --git a/extensions/geode-modules-assembly/release/conf/cache-client.xml b/extensions/geode-modules-assembly/release/conf/cache-client.xml
index 3ae9ba7..c36e0ef 100755
--- a/extensions/geode-modules-assembly/release/conf/cache-client.xml
+++ b/extensions/geode-modules-assembly/release/conf/cache-client.xml
@@ -16,10 +16,10 @@
 	limitations under the License.
 -->
 <client-cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd"
-    version="9.0">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
 
   <!-- The default pool connects to a cache server running on  localhost at
        port 40404. To connect to a different server host and port, modify

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/extensions/geode-modules-assembly/release/conf/cache-peer.xml
----------------------------------------------------------------------
diff --git a/extensions/geode-modules-assembly/release/conf/cache-peer.xml b/extensions/geode-modules-assembly/release/conf/cache-peer.xml
index 1f62cb1..84fb67a 100755
--- a/extensions/geode-modules-assembly/release/conf/cache-peer.xml
+++ b/extensions/geode-modules-assembly/release/conf/cache-peer.xml
@@ -16,10 +16,10 @@
 	limitations under the License.
 -->
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd"
-    version="9.0">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
 
   <!-- Uncomment the following disk-store element to modify the default disk store directory -->
   <!--

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/extensions/geode-modules-assembly/release/conf/cache-server.xml
----------------------------------------------------------------------
diff --git a/extensions/geode-modules-assembly/release/conf/cache-server.xml b/extensions/geode-modules-assembly/release/conf/cache-server.xml
index b9d8c2c..9dad75f 100755
--- a/extensions/geode-modules-assembly/release/conf/cache-server.xml
+++ b/extensions/geode-modules-assembly/release/conf/cache-server.xml
@@ -16,10 +16,10 @@
 	limitations under the License.
 -->
 <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
+    xmlns="http://geode.apache.org/schema/cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd"
-    version="9.0">
+    xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
 
   <!-- Uncomment the following gateway-hub element to create a gateway hub -->
   <!--

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/SharedConfiguration.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/SharedConfiguration.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/SharedConfiguration.java
index a8f331a..8f190eb 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/SharedConfiguration.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/SharedConfiguration.java
@@ -266,8 +266,8 @@ public class SharedConfiguration {
   // UnitTest SharedConfigurationJUnitTest.testCreateAndUpgradeDocumentFromXml
   static Document createAndUpgradeDocumentFromXml(final String xmlContent) throws SAXException, ParserConfigurationException, IOException, XPathExpressionException {
     Document doc = XmlUtils.createDocumentFromXml(xmlContent);
-    if (!CacheXml.VERSION_LATEST.equals(XmlUtils.getAttribute(doc.getDocumentElement(), CacheXml.VERSION, CacheXml.NAMESPACE))) {
-      doc = XmlUtils.upgradeSchema(doc, CacheXml.NAMESPACE, CacheXml.LATEST_SCHEMA_LOCATION, CacheXml.VERSION_LATEST);
+    if (!CacheXml.VERSION_LATEST.equals(XmlUtils.getAttribute(doc.getDocumentElement(), CacheXml.VERSION, CacheXml.GEODE_NAMESPACE))) {
+      doc = XmlUtils.upgradeSchema(doc, CacheXml.GEODE_NAMESPACE, CacheXml.LATEST_SCHEMA_LOCATION, CacheXml.VERSION_LATEST);
     }
     return doc;
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXml.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXml.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXml.java
index 4f1facb..c6b0509 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXml.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXml.java
@@ -45,31 +45,38 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
    * This always refers to the latest GemFire version, in those cases where
    * we default to the current released version of GemFire.
    *
-   * WHenever you upgrade the DTD, you will need to search for occurrences of
+   * Whenever you upgrade the DTD, you will need to search for occurrences of
    * the previous version strings and upgrade them as well.
    *
    * @since 5.5
    */
-  public static final String VERSION_LATEST = CacheXml.VERSION_9_0;
+  public static final String VERSION_LATEST = CacheXml.VERSION_1_0;
   
   /**
-   * @deprecated As of 8.1 use {@link #NAMESPACE}
+   * @deprecated As of 8.1 use {@link #GEODE_NAMESPACE}
    */
   @Deprecated
   public static final String LATEST_SYSTEM_ID = CacheXml.SYSTEM_ID_8_0;
 
   /**
-   * @deprecated As of 8.1 use {@link #NAMESPACE}.
+   * @deprecated As of 8.1 use {@link #GEODE_NAMESPACE}.
    */
   @Deprecated
   public static final String LATEST_PUBLIC_ID = CacheXml.PUBLIC_ID_8_0;
-  
+
+  /**
+   * Namespace URI for older, GemFire {@link CacheXml} documents.
+   *
+   * @since 8.1
+   */
+  public static final String GEMFIRE_NAMESPACE = "http://schema.pivotal.io/gemfire/cache";
+
   /**
    * Namespace URI for {@link CacheXml} documents.
    * 
    * @since 8.1
    */
-  public static final String NAMESPACE = "http://schema.pivotal.io/gemfire/cache";
+  public static final String GEODE_NAMESPACE = "http://geode.apache.org/schema/cache";
 
   /**
    * Namespace prefix for {@link CacheXml} documents.
@@ -79,11 +86,11 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
   public static final String PREFIX = "cache";
 
   /**
-   * Latest schema location for {@link #NAMESPACE}.
+   * Latest schema location for {@link #GEODE_NAMESPACE}.
    * 
    * @since 8.1
    */
-  public static final String LATEST_SCHEMA_LOCATION = CacheXml.SCHEMA_9_0_LOCATION;
+  public static final String LATEST_SCHEMA_LOCATION = CacheXml.SCHEMA_1_0_LOCATION;
   
   /**
    * Location of the latest DTD file for Gemfire
@@ -101,11 +108,11 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
   public static final String VERSION_8_1 = "8.1";
   
   /**
-   * Version string for GemFire 9.0
+   * Version string for Geode 1.0
    * 
-   * @since 9.0
+   * @since 1.0
    */
-  public static final String VERSION_9_0 = "9.0";
+  public static final String VERSION_1_0 = "1.0";
   
   /**
    * The location of the GemFire 8.1 schema file.
@@ -114,11 +121,11 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
    */
   protected static final String SCHEMA_8_1_LOCATION = "http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd";
   /**
-   * The location of the GemFire 9.0 schema file.
+   * The location of the Geeode 1.0 schema file.
    * 
-   * @since 9.0
+   * @since 1.0
    */
-  protected static final String SCHEMA_9_0_LOCATION = "http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd";
+  protected static final String SCHEMA_1_0_LOCATION = "http://geode.apache.org/schema/cache/cache-1.0.xsd";
 
   //---------------------------------
   /** Version string for GemFire 8.0 */
@@ -815,59 +822,59 @@ public abstract class CacheXml implements EntityResolver2, ErrorHandler {
     String location;
     if (SYSTEM_ID_3_0.equals(systemId) || PUBLIC_ID_3_0.equals(publicId)) {
       location = DTD_3_0_LOCATION;
-      version = CacheXmlVersion.VERSION_3_0;
+      version = CacheXmlVersion.GEMFIRE_3_0;
     }
     else if (SYSTEM_ID_4_0.equals(systemId) || PUBLIC_ID_4_0.equals(publicId)) {
       location = DTD_4_0_LOCATION;
-      version = CacheXmlVersion.VERSION_4_0;
+      version = CacheXmlVersion.GEMFIRE_4_0;
     }
     else if (SYSTEM_ID_4_1.equals(systemId) || PUBLIC_ID_4_1.equals(publicId)) {
       location = DTD_4_1_LOCATION;
-      version = CacheXmlVersion.VERSION_4_1;
+      version = CacheXmlVersion.GEMFIRE_4_1;
     }
     else if (SYSTEM_ID_5_0.equals(systemId) || PUBLIC_ID_5_0.equals(publicId)) {
       location = DTD_5_0_LOCATION;
-      version = CacheXmlVersion.VERSION_5_0;
+      version = CacheXmlVersion.GEMFIRE_5_0;
     }
     else if (SYSTEM_ID_5_1.equals(systemId) || PUBLIC_ID_5_1.equals(publicId)) {
       location = DTD_5_1_LOCATION;
-      version = CacheXmlVersion.VERSION_5_1;
+      version = CacheXmlVersion.GEMFIRE_5_1;
     }
     else if (SYSTEM_ID_5_5.equals(systemId) || PUBLIC_ID_5_5.equals(publicId)) {
       location = DTD_5_5_LOCATION;
-      version = CacheXmlVersion.VERSION_5_5;
+      version = CacheXmlVersion.GEMFIRE_5_5;
     }
     else if (SYSTEM_ID_5_7.equals(systemId) || PUBLIC_ID_5_7.equals(publicId)) {
       location = DTD_5_7_LOCATION;
-      version = CacheXmlVersion.VERSION_5_7;
+      version = CacheXmlVersion.GEMFIRE_5_7;
     }
     else if (SYSTEM_ID_5_8.equals(systemId) || PUBLIC_ID_5_8.equals(publicId)) {
       location = DTD_5_8_LOCATION;
-      version = CacheXmlVersion.VERSION_5_8;
+      version = CacheXmlVersion.GEMFIRE_5_8;
     }
     else if (SYSTEM_ID_6_0.equals(systemId) || PUBLIC_ID_6_0.equals(publicId)) {
       location = DTD_6_0_LOCATION;
-      version = CacheXmlVersion.VERSION_6_0;
+      version = CacheXmlVersion.GEMFIRE_6_0;
     }
     else if (SYSTEM_ID_6_1.equals(systemId) || PUBLIC_ID_6_1.equals(publicId)) {
       location = DTD_6_1_LOCATION;
-      version = CacheXmlVersion.VERSION_6_1;
+      version = CacheXmlVersion.GEMFIRE_6_1;
     }
     else if (SYSTEM_ID_6_5.equals(systemId) || PUBLIC_ID_6_5.equals(publicId)) {
       location = DTD_6_5_LOCATION;
-      version = CacheXmlVersion.VERSION_6_5;
+      version = CacheXmlVersion.GEMFIRE_6_5;
     }
     else if (SYSTEM_ID_6_6.equals(systemId) || PUBLIC_ID_6_6.equals(publicId)) {
       location = DTD_6_6_LOCATION;
-      version = CacheXmlVersion.VERSION_6_6;
+      version = CacheXmlVersion.GEMFIRE_6_6;
     }
     else if (SYSTEM_ID_7_0.equals(systemId) || PUBLIC_ID_7_0.equals(publicId)) {
       location = DTD_7_0_LOCATION;
-      version = CacheXmlVersion.VERSION_7_0;
+      version = CacheXmlVersion.GEMFIRE_7_0;
     }
     else if (SYSTEM_ID_8_0.equals(systemId) || PUBLIC_ID_8_0.equals(publicId)) {
       location = DTD_8_0_LOCATION;
-      version = CacheXmlVersion.VERSION_8_0;
+      version = CacheXmlVersion.GEMFIRE_8_0;
     }
     else {
       // Instruct the XML parser to open a URI connection to the

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
index 57d06b0..ea3c975 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
@@ -466,10 +466,10 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
       // add schema location for cache schema.
       handler.startPrefixMapping(W3C_XML_SCHEMA_INSTANCE_PREFIX, W3C_XML_SCHEMA_INSTANCE_NS_URI);
-      addAttribute(atts, W3C_XML_SCHEMA_INSTANCE_PREFIX, W3C_XML_SCHEMA_INSTANCE_ATTRIBUTE_SCHEMA_LOCATION, NAMESPACE + " " + version.getSchemaLocation());
+      addAttribute(atts, W3C_XML_SCHEMA_INSTANCE_PREFIX, W3C_XML_SCHEMA_INSTANCE_ATTRIBUTE_SCHEMA_LOCATION, version.getNamespace() + " " + version.getSchemaLocation());
       
       // add cache schema to default prefix.
-      handler.startPrefixMapping(XmlConstants.DEFAULT_PREFIX, NAMESPACE);
+      handler.startPrefixMapping(XmlConstants.DEFAULT_PREFIX, version.getNamespace());
       addAttribute(atts, VERSION, this.version.getVersion());
     }
 
@@ -487,34 +487,34 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       atts.addAttribute("", "", SEARCH_TIMEOUT, "",
                         String.valueOf(creation.getSearchTimeout()));
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_5) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_5) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_8) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_8) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_0) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
       // TODO
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_1) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_1) >= 0) {
       if (creation.hasMessageSyncInterval()) {
         atts.addAttribute("", "", MESSAGE_SYNC_INTERVAL, "", String
             .valueOf(creation.getMessageSyncInterval()));
       }
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_4_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_0) >= 0) {
       if (creation.hasServer()) {
         atts.addAttribute("", "", IS_SERVER, "",
                           String.valueOf(creation.isServer()));
@@ -532,14 +532,14 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     if (this.cache != null) {
       if (!isClientCache) {
           generate(this.cache.getCacheTransactionManager());
-      } else if(this.version.compareTo(CacheXmlVersion.VERSION_6_6) >= 0) {
+      } else if(this.version.compareTo(CacheXmlVersion.GEMFIRE_6_6) >= 0) {
         generate(this.cache.getCacheTransactionManager());
       }
 
       generateDynamicRegionFactory(this.cache);
 
       if (!isClientCache) {
-        if (this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+        if (this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
           Set<GatewaySender> senderSet = cache.getGatewaySenders();
           for (GatewaySender sender : senderSet) {
             generateGatewaySender(sender);
@@ -549,7 +549,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         }
       }
       
-      if (!isClientCache && this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+      if (!isClientCache && this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
         if (this.cache.getGatewayConflictResolver() != null) {
           generate(GATEWAY_CONFLICT_RESOLVER, this.cache.getGatewayConflictResolver());
         }
@@ -563,7 +563,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         }
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
         Iterator pools;
         if (this.cache instanceof GemFireCacheImpl) {
           pools = PoolManager.getAll().values().iterator();
@@ -576,7 +576,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         }
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) >= 0) {
         if (this.cache instanceof GemFireCacheImpl) {
           GemFireCacheImpl gfc = (GemFireCacheImpl)this.cache;
           for (DiskStore ds: gfc.listDiskStores()) {
@@ -588,11 +588,11 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
           }
         }
       }
-      if(this.version.compareTo(CacheXmlVersion.VERSION_6_6) >= 0) {
+      if(this.version.compareTo(CacheXmlVersion.GEMFIRE_6_6) >= 0) {
         generatePdx();
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_4_1) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_1) >= 0) {
         Map namedAttributes = this.cache.listRegionAttributes();
         for (Iterator iter = namedAttributes.entrySet().iterator();
              iter.hasNext(); ) {
@@ -603,7 +603,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
           // we need to exclude them in all versions.
           // It would be better if CacheCreation could only predefine them
           // for versions 6.5 and later but that is not easy to do
-          /*if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) >= 0)*/ {
+          /*if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) >= 0)*/ {
             if (this.creation instanceof ClientCacheCreation) {
               try {
                 ClientRegionShortcut.valueOf(id);
@@ -639,15 +639,15 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     	  }
       }
 
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_8) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_8) >= 0) {
         generateFunctionService();
       }
-      if (this.version.compareTo(CacheXmlVersion.VERSION_6_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_0) >= 0) {
         generateResourceManager();
         generateSerializerRegistration();
       }
       if (!isClientCache) {
-        if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) >= 0) {
+        if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) >= 0) {
           if (this.cache instanceof GemFireCacheImpl) {
             GemFireCacheImpl gfc = (GemFireCacheImpl)this.cache;
             for (File file : gfc.getBackupFiles()) {
@@ -660,7 +660,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
           }
         }
       }
-      if(this.version.compareTo(CacheXmlVersion.VERSION_6_6) >= 0) {
+      if(this.version.compareTo(CacheXmlVersion.GEMFIRE_6_6) >= 0) {
         generateInitializer();
       }
     } else {
@@ -727,7 +727,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
   }
 
   private void generateRegion(Region root) throws SAXException {
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) >= 0) {
       generate(root, REGION);
     }
     else {
@@ -827,7 +827,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         }
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_9_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEODE_1_0) >= 0) {
         if (this.creation.getResourceManager().hasCriticalOffHeap()) {
           float chp = this.creation.getResourceManager().getCriticalOffHeapPercentage();
           if (generateDefaults() || chp != MemoryThresholds.DEFAULT_CRITICAL_PERCENTAGE) {
@@ -861,7 +861,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
             String.valueOf(ehp));
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_9_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEODE_1_0) >= 0) {
         {
           int chp = (int)this.cache.getResourceManager().getCriticalOffHeapPercentage();
           if (generateDefaults() || chp != MemoryThresholds.DEFAULT_CRITICAL_PERCENTAGE)
@@ -958,7 +958,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     try {
         atts.addAttribute("", "", CLIENT_SUBSCRIPTION_EVICTION_POLICY, "", csc.getEvictionPolicy());
         atts.addAttribute("", "", CLIENT_SUBSCRIPTION_CAPACITY, "", String.valueOf(csc.getCapacity()));
-        if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) >= 0) {
+        if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) >= 0) {
           String dsVal = csc.getDiskStoreName();
           if (dsVal != null) {
             atts.addAttribute("", "", DISK_STORE_NAME, "", dsVal);
@@ -981,7 +981,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
    * @since 4.0
    */
   private void generate(CacheServer bridge) throws SAXException {
-    if (this.version.compareTo(CacheXmlVersion.VERSION_4_0) < 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_0) < 0) {
       return;
     }
     AttributesImpl atts = new AttributesImpl();
@@ -990,7 +990,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       atts.addAttribute("", "", PORT, "",
           String.valueOf(bridge.getPort()));
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_4_1) < 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_1) < 0) {
         return;
       }
       if (generateDefaults() || bridge.getMaximumTimeBetweenPings() != CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS)
@@ -1005,7 +1005,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       atts.addAttribute("", "", SOCKET_BUFFER_SIZE, "",
           String.valueOf(bridge.getSocketBufferSize()));
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_0) < 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) < 0) {
         return;
       }
       
@@ -1013,7 +1013,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       atts.addAttribute("", "", MAX_CONNECTIONS, "",
           String.valueOf(bridge.getMaxConnections()));
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_1) < 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_1) < 0) {
         return;
       }
 
@@ -1030,7 +1030,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       
       
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) < 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) < 0) {
         return;
       }
       
@@ -1046,7 +1046,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       if (generateDefaults() || bridge.getLoadPollInterval() != CacheServer.DEFAULT_LOAD_POLL_INTERVAL)
       atts.addAttribute("", "", LOAD_POLL_INTERVAL, "", String.valueOf(bridge.getLoadPollInterval()));
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_8_0) < 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_8_0) < 0) {
         return;
       }
 
@@ -1055,13 +1055,13 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
 
     } finally {
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
         handler.startElement("", CACHE_SERVER, CACHE_SERVER, atts);
       } else {
         handler.startElement("", BRIDGE_SERVER, BRIDGE_SERVER, atts);
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
         String[] groups = bridge.getGroups();
         if (groups.length > 0) {
           for (int i = 0; i < groups.length; i++) {
@@ -1083,7 +1083,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         
         
       }
-      if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
         handler.endElement("", "", CACHE_SERVER);
       } else {
         handler.endElement("", "", BRIDGE_SERVER);
@@ -1097,7 +1097,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
    * @since prPersistSprint2
    */
   private void generate(DiskStore ds) throws SAXException {
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) < 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) < 0) {
       return;
     }
     AttributesImpl atts = new AttributesImpl();
@@ -1153,7 +1153,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
             String.valueOf(ds.getQueueSize()));
       }
       
-      if (this.version.compareTo(CacheXmlVersion.VERSION_8_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_8_0) >= 0) {
         if ((!(ds instanceof DiskStoreAttributesCreation) ||
             ((DiskStoreAttributesCreation) ds).hasDiskUsageWarningPercentage())) {
           if (generateDefaults() || ds.getDiskUsageWarningPercentage() != DiskStoreFactory.DEFAULT_DISK_USAGE_WARNING_PERCENTAGE)
@@ -1220,7 +1220,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
    * @since 5.7
    */
   private void generate(Pool cp) throws SAXException {
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) < 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) < 0) {
       return;
     }
     if (((PoolImpl)cp).isUsedByGateway()) {
@@ -1279,13 +1279,13 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       atts.addAttribute("", "", THREAD_LOCAL_CONNECTIONS, "",
                         String.valueOf(cp.getThreadLocalConnections()));
 
-      if (this.version.compareTo(CacheXmlVersion.VERSION_6_1) > 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_1) > 0) {
         if (generateDefaults() || cp.getPRSingleHopEnabled() != PoolFactory.DEFAULT_PR_SINGLE_HOP_ENABLED)
         atts.addAttribute("", "", PR_SINGLE_HOP_ENABLED, "",
             String.valueOf(cp.getPRSingleHopEnabled()));  
       }
 
-      if (this.version.compareTo(CacheXmlVersion.VERSION_6_1) > 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_1) > 0) {
         if (generateDefaults() || cp.getMultiuserAuthentication() != PoolFactory.DEFAULT_MULTIUSER_AUTHENTICATION)
         atts.addAttribute("", "", MULTIUSER_SECURE_MODE_ENABLED, "", String.valueOf(cp
             .getMultiuserAuthentication()));
@@ -1324,7 +1324,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
    * @since 4.0
    */
   private void generate(CacheTransactionManager txMgr) throws SAXException {
-    if (this.version.compareTo(CacheXmlVersion.VERSION_4_0) < 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_0) < 0) {
       return;
     }
 
@@ -1355,7 +1355,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
    * @since 4.3
    */
   private void generateDynamicRegionFactory(Cache c) throws SAXException {
-    if (this.version.compareTo(CacheXmlVersion.VERSION_4_1) < 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_1) < 0) {
       return;
     }
     DynamicRegionFactory.Config cfg;
@@ -1463,7 +1463,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
          generateGatewayEventFilter(gef);
       }
 
-      if (this.version.compareTo(CacheXmlVersion.VERSION_8_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_8_0) >= 0) {
         if (sender.getGatewayEventSubstitutionFilter() != null) {
           generateGatewayEventSubstitutionFilter(sender.getGatewayEventSubstitutionFilter());
         }
@@ -1534,7 +1534,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     	  }
       }
 
-      if (this.version.compareTo(CacheXmlVersion.VERSION_8_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_8_0) >= 0) {
         if (asyncEventQueue.getGatewayEventSubstitutionFilter() != null) {
           generateGatewayEventSubstitutionFilter(asyncEventQueue.getGatewayEventSubstitutionFilter());
         }
@@ -1581,7 +1581,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
           atts.addAttribute("", "", SOCKET_BUFFER_SIZE, "",
               String.valueOf(receiver.getSocketBufferSize()));
 
-        if (this.version.compareTo(CacheXmlVersion.VERSION_8_0) < 0) {
+        if (this.version.compareTo(CacheXmlVersion.GEMFIRE_8_0) < 0) {
           return;
         }
         // manual-start
@@ -1905,11 +1905,11 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
                         String.valueOf(attrs.getEnableAsyncConflation()));
     }
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) >= 0) {
       
       if ((!(attrs instanceof RegionAttributesCreation) ||
            ((RegionAttributesCreation) attrs).hasEnableSubscriptionConflation())) {
-        if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+        if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
           // starting with 5.7 it is enable-subscription-conflation
           if (generateDefaults() || attrs.getEnableSubscriptionConflation())
           atts.addAttribute("", "", ENABLE_SUBSCRIPTION_CONFLATION, "",
@@ -1939,7 +1939,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         } else if (dp == DataPolicy.PERSISTENT_PARTITION) {
           dpString = PERSISTENT_PARTITION_DP;
         } else if (dp.isPartition()) {
-          if (this.version.compareTo(CacheXmlVersion.VERSION_5_1) >= 0) {
+          if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_1) >= 0) {
             dpString = PARTITION_DP;
           }
           else {
@@ -1953,8 +1953,8 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         if (generateDefaults() || !dp.equals(DataPolicy.DEFAULT))
         atts.addAttribute("", "", DATA_POLICY, "", dpString);
       } // hasDataPolicy
-    } // VERSION_5_0 >= 0
-    else { // VERSION_5_0 < 0
+    } // GEMFIRE_5_0 >= 0
+    else { // GEMFIRE_5_0 < 0
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasEnableSubscriptionConflation())) {
        if (generateDefaults() || attrs.getEnableSubscriptionConflation())
@@ -1981,7 +1981,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         atts.addAttribute("", "", PERSIST_BACKUP, "",
                           String.valueOf(attrs.getDataPolicy() == DataPolicy.PERSISTENT_REPLICATE));
       }
-    } // VERSION_5_0 < 0
+    } // GEMFIRE_5_0 < 0
 
     if ((!(attrs instanceof RegionAttributesCreation) ||
          ((RegionAttributesCreation) attrs).hasInitialCapacity())) {
@@ -2004,7 +2004,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
                         String.valueOf(attrs.getConcurrencyLevel()));
     }
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasConcurrencyChecksEnabled())) {
        if (generateDefaults() || attrs.getConcurrencyChecksEnabled() != true/*fixes bug 46654*/)
@@ -2029,7 +2029,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
                         String.valueOf(attrs.getIgnoreJTA()));
     }
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_4_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
            ((RegionAttributesCreation) attrs).hasIsLockGrantor())) {
         if (generateDefaults() || attrs.isLockGrantor())
@@ -2037,7 +2037,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
                           String.valueOf(attrs.isLockGrantor()));
       }
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_7) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
            ((RegionAttributesCreation) attrs).hasPoolName())) {
         String cpVal = attrs.getPoolName();
@@ -2048,7 +2048,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         atts.addAttribute("", "", POOL_NAME, "", cpVal);
       }
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_5) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasDiskStoreName())) {
         String dsVal = attrs.getDiskStoreName();
@@ -2062,7 +2062,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         atts.addAttribute("", "", DISK_SYNCHRONOUS, "", String.valueOf(attrs.isDiskSynchronous()));
       }
     }
-    if(this.version.compareTo(CacheXmlVersion.VERSION_6_1) >= 0)
+    if(this.version.compareTo(CacheXmlVersion.GEMFIRE_6_1) >= 0)
       if ((!(attrs instanceof RegionAttributesCreation)||
           ((RegionAttributesCreation) attrs).hasCloningEnabled())) {
         if (generateDefaults() || attrs.getCloningEnabled())
@@ -2070,7 +2070,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
             String.valueOf(attrs.getCloningEnabled()));
      }
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) || ((RegionAttributesCreation)attrs)
           .hasGatewaySenderId())) {
         Set<String> senderIds = new HashSet<String>(attrs
@@ -2089,7 +2089,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_7_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_7_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) || ((RegionAttributesCreation)attrs)
           .hasAsyncEventListeners())) {
         Set<String> asyncEventQueueIds = new HashSet<String>(attrs
@@ -2108,7 +2108,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_9_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEODE_1_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasOffHeap())) {
         if (generateDefaults() || attrs.getOffHeap()) {
@@ -2157,7 +2157,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
           attrs.getCustomEntryIdleTimeout());
     }
 
-    if (attrs.getDiskStoreName() == null && (generateDefaults() || this.version.compareTo(CacheXmlVersion.VERSION_6_5) < 0)) {
+    if (attrs.getDiskStoreName() == null && (generateDefaults() || this.version.compareTo(CacheXmlVersion.GEMFIRE_6_5) < 0)) {
     if ((!(attrs instanceof RegionAttributesCreation) ||
          ((RegionAttributesCreation) attrs).hasDiskWriteAttributes())) {
       generate(attrs.getDiskWriteAttributes());
@@ -2186,7 +2186,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     }
     } // pre 6.5
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasPartitionAttributes())) {
         PartitionAttributes p = attrs.getPartitionAttributes();
@@ -2196,14 +2196,14 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) >= 0) {
       MembershipAttributes p = attrs.getMembershipAttributes();
       if (p != null && p.hasRequiredRoles()) {
         generate(p);
       }
     }
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasSubscriptionAttributes())) {
        SubscriptionAttributes sa = attrs.getSubscriptionAttributes();
@@ -2230,7 +2230,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_8_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_8_0) >= 0) {
       if ((!(attrs instanceof RegionAttributesCreation) ||
           ((RegionAttributesCreation) attrs).hasCompressor())) {
        generate(COMPRESSOR, attrs.getCompressor());
@@ -2326,7 +2326,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     } else if (ea.getAlgorithm() == EvictionAlgorithm.LRU_HEAP) {
       handler.startElement("", LRU_HEAP_PERCENTAGE,
           LRU_HEAP_PERCENTAGE, atts);
-      if (this.version.compareTo(CacheXmlVersion.VERSION_6_0) >= 0) {
+      if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_0) >= 0) {
         ObjectSizer os = ea.getObjectSizer();
         if (!(os instanceof SizeClassOnceObjectSizer)) {
           if (os != null) {
@@ -2432,7 +2432,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     atts.addAttribute("", "", PARTITION_REDUNDANT_COPIES, "",
         String.valueOf(pa.getRedundantCopies()));
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_1) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_1) >= 0) {
       if (generateDefaults() || pa.getLocalMaxMemory() != ((PartitionAttributesImpl) pa).getLocalMaxMemoryDefault())
       atts.addAttribute("", "", LOCAL_MAX_MEMORY, "",
           String.valueOf(pa.getLocalMaxMemory()));
@@ -2442,15 +2442,15 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       if (generateDefaults() || pa.getTotalNumBuckets() != PartitionAttributesFactory.GLOBAL_MAX_BUCKETS_DEFAULT)
       atts.addAttribute("", "", TOTAL_NUM_BUCKETS, "",
           String.valueOf(pa.getTotalNumBuckets()));
-    } // VERSION_5_1
+    } // GEMFIRE_5_1
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_8) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_8) >= 0) {
       if(pa.getColocatedWith() != null)
         atts.addAttribute("", "", PARTITION_COLOCATED_WITH, "",
             pa.getColocatedWith());
       
     }
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_0) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_0) >= 0) {
       if (generateDefaults() || pa.getRecoveryDelay() != PartitionAttributesFactory.RECOVERY_DELAY_DEFAULT)
         atts.addAttribute("", "", RECOVERY_DELAY, "",
             String.valueOf(pa.getRecoveryDelay()));
@@ -2469,14 +2469,14 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     handler.startElement("", PARTITION_ATTRIBUTES,
                            PARTITION_ATTRIBUTES, atts);
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_8) >= 0) {      
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_8) >= 0) {
       PartitionResolver rr = pa.getPartitionResolver();
       if (rr != null) {
         generate(PARTITION_RESOLVER, rr);        
       }
     }
     
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_1) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_1) >= 0) {
       PartitionListener[] listeners = pa.getPartitionListeners();
       for (int i = 0; i < listeners.length; i++) {
         PartitionListener listener = listeners[i];
@@ -2486,7 +2486,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }   
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_6_6) >= 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_6) >= 0) {
       List<FixedPartitionAttributes> staticAttrs = pa
           .getFixedPartitionAttributes();
       if (staticAttrs != null) {
@@ -2494,7 +2494,7 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }
 
-    if (this.version.compareTo(CacheXmlVersion.VERSION_5_1) < 0) {
+    if (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_1) < 0) {
       Properties p = pa.getLocalProperties();
       generate(p, LOCAL_PROPERTIES);
   

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
index 69899fd..e6c0b60 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
@@ -1663,7 +1663,7 @@ public class CacheXmlParser extends CacheXml implements ContentHandler {
     RegionAttributesCreation rattrs = peekRegionAttributesContext(PARTITION_ATTRIBUTES);
     // change the 5.0 default data policy (EMPTY) to the current default
     if (rattrs.hasDataPolicy() && rattrs.getDataPolicy().isEmpty()
-        && (this.version.compareTo(CacheXmlVersion.VERSION_5_0) == 0)) {
+        && (this.version.compareTo(CacheXmlVersion.GEMFIRE_5_0) == 0)) {
       rattrs.setDataPolicy(PartitionedRegionHelper.DEFAULT_DATA_POLICY);
     }
     rattrs.setPartitionAttributes(paf);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersion.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersion.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersion.java
index 51e840a..716b983 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersion.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlVersion.java
@@ -28,22 +28,25 @@ import java.util.HashMap;
  */
 // TODO future - replace constants in CacheXml with this Enum completely
 public enum CacheXmlVersion {
-  VERSION_3_0(CacheXml.VERSION_3_0, null, CacheXml.PUBLIC_ID_3_0, CacheXml.SYSTEM_ID_3_0),
-  VERSION_4_0(CacheXml.VERSION_4_0, null, CacheXml.PUBLIC_ID_4_0, CacheXml.SYSTEM_ID_4_0),
-  VERSION_4_1(CacheXml.VERSION_4_1, null, CacheXml.PUBLIC_ID_4_1, CacheXml.SYSTEM_ID_4_1),
-  VERSION_5_0(CacheXml.VERSION_5_0, null, CacheXml.PUBLIC_ID_5_0, CacheXml.SYSTEM_ID_5_0),
-  VERSION_5_1(CacheXml.VERSION_5_1, null, CacheXml.PUBLIC_ID_5_1, CacheXml.SYSTEM_ID_5_1),
-  VERSION_5_5(CacheXml.VERSION_5_5, null, CacheXml.PUBLIC_ID_5_5, CacheXml.SYSTEM_ID_5_5),
-  VERSION_5_7(CacheXml.VERSION_5_7, null, CacheXml.PUBLIC_ID_5_7, CacheXml.SYSTEM_ID_5_7),
-  VERSION_5_8(CacheXml.VERSION_5_8, null, CacheXml.PUBLIC_ID_5_8, CacheXml.SYSTEM_ID_5_8),
-  VERSION_6_0(CacheXml.VERSION_6_0, null, CacheXml.PUBLIC_ID_6_0, CacheXml.SYSTEM_ID_6_0),
-  VERSION_6_1(CacheXml.VERSION_6_1, null, CacheXml.PUBLIC_ID_6_1, CacheXml.SYSTEM_ID_6_1),
-  VERSION_6_5(CacheXml.VERSION_6_5, null, CacheXml.PUBLIC_ID_6_5, CacheXml.SYSTEM_ID_6_5),
-  VERSION_6_6(CacheXml.VERSION_6_6, null, CacheXml.PUBLIC_ID_6_6, CacheXml.SYSTEM_ID_6_6),
-  VERSION_7_0(CacheXml.VERSION_7_0, null, CacheXml.PUBLIC_ID_7_0, CacheXml.SYSTEM_ID_7_0),
-  VERSION_8_0(CacheXml.VERSION_8_0, null, CacheXml.PUBLIC_ID_8_0, CacheXml.SYSTEM_ID_8_0),
-  VERSION_8_1(CacheXml.VERSION_8_1, CacheXml.SCHEMA_8_1_LOCATION, null, null),
-  VERSION_9_0(CacheXml.VERSION_9_0, CacheXml.SCHEMA_9_0_LOCATION, null, null);
+  GEMFIRE_3_0(CacheXml.VERSION_3_0, CacheXml.PUBLIC_ID_3_0, CacheXml.SYSTEM_ID_3_0, null, null),
+  GEMFIRE_4_0(CacheXml.VERSION_4_0, CacheXml.PUBLIC_ID_4_0, CacheXml.SYSTEM_ID_4_0, null, null),
+  GEMFIRE_4_1(CacheXml.VERSION_4_1, CacheXml.PUBLIC_ID_4_1, CacheXml.SYSTEM_ID_4_1, null, null),
+  GEMFIRE_5_0(CacheXml.VERSION_5_0, CacheXml.PUBLIC_ID_5_0, CacheXml.SYSTEM_ID_5_0, null, null),
+  GEMFIRE_5_1(CacheXml.VERSION_5_1, CacheXml.PUBLIC_ID_5_1, CacheXml.SYSTEM_ID_5_1, null, null),
+  GEMFIRE_5_5(CacheXml.VERSION_5_5, CacheXml.PUBLIC_ID_5_5, CacheXml.SYSTEM_ID_5_5, null, null),
+  GEMFIRE_5_7(CacheXml.VERSION_5_7, CacheXml.PUBLIC_ID_5_7, CacheXml.SYSTEM_ID_5_7, null, null),
+  GEMFIRE_5_8(CacheXml.VERSION_5_8, CacheXml.PUBLIC_ID_5_8, CacheXml.SYSTEM_ID_5_8, null, null),
+  GEMFIRE_6_0(CacheXml.VERSION_6_0, CacheXml.PUBLIC_ID_6_0, CacheXml.SYSTEM_ID_6_0, null, null),
+  GEMFIRE_6_1(CacheXml.VERSION_6_1, CacheXml.PUBLIC_ID_6_1, CacheXml.SYSTEM_ID_6_1, null, null),
+  GEMFIRE_6_5(CacheXml.VERSION_6_5, CacheXml.PUBLIC_ID_6_5, CacheXml.SYSTEM_ID_6_5, null, null),
+  GEMFIRE_6_6(CacheXml.VERSION_6_6, CacheXml.PUBLIC_ID_6_6, CacheXml.SYSTEM_ID_6_6, null, null),
+  GEMFIRE_7_0(CacheXml.VERSION_7_0, CacheXml.PUBLIC_ID_7_0, CacheXml.SYSTEM_ID_7_0, null, null),
+  GEMFIRE_8_0(CacheXml.VERSION_8_0, CacheXml.PUBLIC_ID_8_0, CacheXml.SYSTEM_ID_8_0, null, null),
+  GEMFIRE_8_1(CacheXml.VERSION_8_1, null, null, CacheXml.SCHEMA_8_1_LOCATION, CacheXml.GEMFIRE_NAMESPACE),
+
+  // Ordinality matters here, so keep the 1.0 version after the 8.x versions
+  // Version 1.0 is the start of Geode versions. In terms of releases, Geode 1.0 > GemFire 8.x.
+  GEODE_1_0(CacheXml.VERSION_1_0, null, null, CacheXml.SCHEMA_1_0_LOCATION, CacheXml.GEODE_NAMESPACE);
 
   private static final HashMap<String, CacheXmlVersion> valuesForVersion = new HashMap<>();
   static {
@@ -54,14 +57,16 @@ public enum CacheXmlVersion {
 
   private final String version;
   private final String schemaLocation;
+  private final String namespace;
   private final String publicId;
   private final String systemId;
 
-  private CacheXmlVersion(String version, String schemaLocation, String publicId, String systemId) {
+  private CacheXmlVersion(String version, String publicId, String systemId, String schemaLocation, String namespace) {
     this.version = version;
-    this.schemaLocation = schemaLocation;
     this.publicId = publicId;
     this.systemId = systemId;
+    this.schemaLocation = schemaLocation;
+    this.namespace = namespace;
   }
 
   /**
@@ -79,9 +84,9 @@ public enum CacheXmlVersion {
 
   /**
    * The schema file location.
-   * 
+   *
    * @return the schemaLocation if schema exists, otherwise null.
-   * 
+   *
    * @since 8.1
    */
   public String getSchemaLocation() {
@@ -89,6 +94,15 @@ public enum CacheXmlVersion {
   }
 
   /**
+   * The namespace.
+   * 
+   * @return the namespace if schema exists, otherwise null.
+   */
+  public String getNamespace() {
+    return namespace;
+  }
+
+  /**
    * The DTD public id.
    * 
    * @return the publicId if DTD exists, otherwise null.
@@ -111,7 +125,7 @@ public enum CacheXmlVersion {
   /**
    * Get {@link CacheXmlVersion} for given <code>version</code> string. Use
    * constants from {@link CacheXml} for example:
-   * <code>CacheXmlVersion.valueForVersion(CacheXml.VERSION_8_1);</code>
+   * <code>CacheXmlVersion.valueForVersion(CacheXml.GEMFIRE_8_1);</code>
    * 
    * @param version
    *          string to lookup.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolver.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolver.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolver.java
index 59d5860..d7c2a72 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolver.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/GeodeEntityResolver.java
@@ -37,7 +37,7 @@ import org.xml.sax.ext.EntityResolver2;
  */
 public final class GeodeEntityResolver extends DefaultEntityResolver2 {
 
-  private static final String SYSTEM_ID_ROOT = "http://geode.apache.org/schema";
+  private static final String SYSTEM_ID_ROOT = "http://geode.apache.org/";
 
   private static final String CLASSPATH_ROOT = "/META-INF/schemas/geode.apache.org/";
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElement.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElement.java b/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElement.java
index 2da5796..a674d56 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElement.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/CacheElement.java
@@ -94,7 +94,7 @@ public class CacheElement {
 
   /**
    * Build <code>cache</code> element map for given <cod>doc</code>'s
-   * schemaLocation for {@link CacheXml#NAMESPACE}.
+   * schemaLocation for {@link CacheXml#GEODE_NAMESPACE}.
    * 
    * @param doc
    *          {@link Document} to parse schema for.
@@ -111,7 +111,7 @@ public class CacheElement {
 
     final LinkedHashMap<String, CacheElement> elementMap = new LinkedHashMap<String, CacheElement>();
 
-    buildElementMapCacheType(elementMap, resolveSchema(schemaLocationMap, CacheXml.NAMESPACE));
+    buildElementMapCacheType(elementMap, resolveSchema(schemaLocationMap, CacheXml.GEODE_NAMESPACE));
 
     // if we are ever concerned with the order of extensions or children process them here.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/XmlEntity.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/XmlEntity.java b/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/XmlEntity.java
index 8517fc6..f8da915 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/XmlEntity.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/domain/XmlEntity.java
@@ -35,7 +35,6 @@ import javax.xml.xpath.XPathExpressionException;
 import org.apache.logging.log4j.Logger;
 import org.springframework.util.Assert;
 import org.w3c.dom.Document;
-import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -70,7 +69,7 @@ public class XmlEntity implements DataSerializable {
 
   private String prefix = CacheXml.PREFIX;
 
-  private String namespace = CacheXml.NAMESPACE;
+  private String namespace = CacheXml.GEODE_NAMESPACE;
 
   /**
    * Default constructor for serialization only.
@@ -308,7 +307,7 @@ public class XmlEntity implements DataSerializable {
   }
 
   /**
-   * Gets the namespace for the element. Defaults to {@link CacheXml#NAMESPACE}
+   * Gets the namespace for the element. Defaults to {@link CacheXml#GEODE_NAMESPACE}
    * if not set.
    * 
    * @return XML element namespace
@@ -457,7 +456,7 @@ public class XmlEntity implements DataSerializable {
      * Sets the element prefix and namespace as returned by
      * {@link XmlEntity#getPrefix()} and {@link XmlEntity#getNamespace()}
      * respectively. Defaults are {@link CacheXml#PREFIX} and
-     * {@link CacheXml#NAMESPACE} respectively.
+     * {@link CacheXml#GEODE_NAMESPACE} respectively.
      * 
      * @param prefix
      *          Prefix of element

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtils.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtils.java b/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtils.java
index 37b7321..7860eab 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtils.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/management/internal/configuration/utils/XmlUtils.java
@@ -21,9 +21,7 @@ import static com.gemstone.gemfire.management.internal.configuration.utils.XmlCo
 import static javax.xml.XMLConstants.NULL_NS_URI;
 import static javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
@@ -198,7 +196,7 @@ public class XmlUtils {
    * @since 8.1
    */
   private static boolean isMultiple(final LinkedHashMap<String, CacheElement> elementOrderMap, final String namespace, final String type) {
-    if (CacheXml.NAMESPACE.equals(namespace)) {
+    if (CacheXml.GEODE_NAMESPACE.equals(namespace)) {
       // We only keep the cache elements in elementOrderMap
       final CacheElement cacheElement = elementOrderMap.get(type);
       if (null != cacheElement) {
@@ -220,7 +218,7 @@ public class XmlUtils {
    * @since 8.1
    */
   private static int getElementOrder(final LinkedHashMap<String, CacheElement> elementOrderMap, final String namespace, final String type) {
-    if (CacheXml.NAMESPACE.equals(namespace)) {
+    if (CacheXml.GEODE_NAMESPACE.equals(namespace)) {
       // We only keep the cache elements in elementOrderMap
       final CacheElement cacheElement = elementOrderMap.get(type);
       if (null != cacheElement) {


[3/5] incubator-geode git commit: GEODE-386: Change xsd namespace to apache

Posted by je...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
----------------------------------------------------------------------
diff --git a/geode-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd b/geode-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
deleted file mode 100644
index 1cd3567..0000000
--- a/geode-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
+++ /dev/null
@@ -1,1519 +0,0 @@
-<?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.
--->
-<xsd:schema
-    targetNamespace="http://schema.pivotal.io/gemfire/cache"
-    xmlns:gf="http://schema.pivotal.io/gemfire/cache"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified"
-    attributeFormDefault="unqualified"
-    version="9.0">
-  <xsd:annotation>
-    <xsd:documentation><![CDATA[
-This is the XML Schema for the GemFire distributed cache declarative
-caching XML file.  All declarative cache files must include a schema
-of the following form:
-
-  <cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd"
-    version="9.0">
-
-If you are declaring a client cache then use this schema:
-
-  <client-cache
-    xmlns="http://schema.pivotal.io/gemfire/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-9.0.xsd"
-    version="9.0">
-
-The contents of a declarative XML file correspond to APIs found in the
-com.gemstone.gemfire.cache and com.gemstone.gemfire.cache.client
-packages.  A declarative caching XML file is used to populate a Cache
-or a ClientCache when it is created.
-
-The top-level element in this syntax is "cache" or "client-cache".
-All elements are listed here in alphabetical order.
-
-The following conventions apply to all GemFire distributed cache
-declarative caching XML file elements unless indicated otherwise.
-
-- In elements that contain PCDATA, leading and trailing whitespace in
-  the data may be ignored.
-
-- In elements whose value is an "enumerated type", the value is case
-  sensitive.
-  
-  ]]></xsd:documentation>
-  </xsd:annotation>
-
-    <!--
--->
-  <xsd:element name="cache">
-    <xsd:annotation>
-      <xsd:documentation>
-        The "cache" element is the root element of the declarative cache file on a peer or server. This element configures a GemFire Cache and
-        describes the root regions it contains, if any.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element maxOccurs="1" minOccurs="0" name="cache-transaction-manager" type="gf:cache-transaction-manager-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="dynamic-region-factory" type="gf:dynamic-region-factory-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-hub">
-          <xsd:annotation>
-            <xsd:documentation>
-              The "gateway-hub" element specifies a Gateway Hub that is
-              initialized when the Cache is declaratively initialized.
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway">
-                <xsd:annotation>
-                  <xsd:documentation>
-                    The "gateway" element specifies a Gateway that is
-                    initialized when a GatewayHub is declaratively initialized.
-                  </xsd:documentation>
-                </xsd:annotation>
-                <xsd:complexType>
-                  <xsd:sequence>
-                    <xsd:choice>
-                      <xsd:element maxOccurs="unbounded" minOccurs="1" name="gateway-endpoint">
-                        <xsd:annotation>
-                          <xsd:documentation>
-                            The "gateway-endpoint" element specifies an endpoint that is
-                            initialized when a Gateway is declaratively
-                            initialized.
-                          </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                          <xsd:attribute name="host" type="xsd:string" use="required" />
-                          <xsd:attribute name="id" type="xsd:string" use="required" />
-                          <xsd:attribute name="port" type="xsd:string" use="required" />
-                        </xsd:complexType>
-                      </xsd:element>
-                      <xsd:element maxOccurs="unbounded" minOccurs="1" name="gateway-listener">
-                        <xsd:annotation>
-                          <xsd:documentation>
-                            The "gateway-listener" element specifies a listener that is
-                            initialized when a Gateway is declaratively initialized.
-                          </xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:complexType>
-                          <xsd:sequence>
-                            <xsd:element name="class-name" type="gf:class-name-type" />
-                            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-                          </xsd:sequence>
-                        </xsd:complexType>
-                      </xsd:element>
-                    </xsd:choice>
-                    <xsd:element maxOccurs="1" minOccurs="0" name="gateway-queue">
-                      <xsd:annotation>
-                        <xsd:documentation>
-                          The "gateway-queue" element specifies a queue that is
-                          initialized when a Gateway is declaratively initialized.
-                          As of
-                          6.5 overflow-directory is deprecated. Use disk-store-name instead.
-                          As of 6.5 roll-oplogs is deprecated. Use disk-store-name instead.
-                        </xsd:documentation>
-                      </xsd:annotation>
-                      <xsd:complexType>
-                        <xsd:attribute name="alert-threshold" type="xsd:string" use="optional" />
-                        <xsd:attribute name="batch-conflation" type="xsd:boolean" use="optional" />
-                        <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
-                        <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
-                        <xsd:attribute name="enable-persistence" type="xsd:boolean" use="optional" />
-                        <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
-                        <xsd:attribute name="roll-oplogs" type="xsd:boolean" use="optional" />
-                        <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
-                        <xsd:attribute name="overflow-directory" type="xsd:string" use="optional" />
-                      </xsd:complexType>
-                    </xsd:element>
-                  </xsd:sequence>
-                  <xsd:attribute name="early-ack" type="xsd:boolean" use="optional" />
-                  <xsd:attribute name="id" type="xsd:string" use="required" />
-                  <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
-                  <xsd:attribute name="socket-read-timeout" type="xsd:string" use="optional" />
-                  <xsd:attribute name="concurrency-level" type="xsd:string" use="optional" />
-                  <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
-                </xsd:complexType>
-              </xsd:element>
-            </xsd:sequence>
-            <xsd:attribute name="id" type="xsd:string" use="required" />
-            <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
-            <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
-            <xsd:attribute name="port" type="xsd:string" use="optional" />
-            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
-            <xsd:attribute name="startup-policy" use="optional">
-              <xsd:simpleType>
-                <xsd:restriction base="xsd:string">
-                  <xsd:enumeration value="primary" />
-                  <xsd:enumeration value="secondary" />
-                  <xsd:enumeration value="none" />
-                </xsd:restriction>
-              </xsd:simpleType>
-            </xsd:attribute>
-            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="max-connections" type="xsd:integer" use="optional" />
-          </xsd:complexType>
-        </xsd:element>
-
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-sender">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-event-filter" type="gf:class-with-parameters-type" />
-              <xsd:element maxOccurs="1" minOccurs="0" name="gateway-event-substitution-filter" type="gf:class-with-parameters-type" />
-              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-transport-filter" type="gf:class-with-parameters-type" />
-            </xsd:sequence>
-            <xsd:attribute name="id" type="xsd:string" use="required" />
-            <xsd:attribute name="remote-distributed-system-id" type="xsd:string" use="required" />
-            <xsd:attribute name="parallel" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
-            <xsd:attribute name="socket-read-timeout" type="xsd:string" use="optional" />
-            <xsd:attribute name="enable-batch-conflation" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
-            <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
-            <xsd:attribute name="enable-persistence" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
-            <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
-            <xsd:attribute name="alert-threshold" type="xsd:string" use="optional" />
-            <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
-            <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
-          </xsd:complexType>
-        </xsd:element>
-
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-receiver">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-transport-filter" type="gf:class-with-parameters-type" />
-            </xsd:sequence>
-            <xsd:attribute name="start-port" type="xsd:string" use="optional" />
-            <xsd:attribute name="end-port" type="xsd:string" use="optional" />
-            <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
-            <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
-            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
-            <xsd:attribute name="hostname-for-senders" type="xsd:string" use="optional" />
-            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
-          </xsd:complexType>
-        </xsd:element>
-
-        <xsd:element maxOccurs="1" minOccurs="0" name="gateway-conflict-resolver">
-          <xsd:annotation>
-            <xsd:documentation>
-              A "gateway-conflict-resolver" element describes a region's GatewayConflictResolver.
-              It is used to resolve inter-system concurrency
-              conflicts.
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element name="class-name" type="gf:class-name-type" />
-              <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-            </xsd:sequence>
-          </xsd:complexType>
-        </xsd:element>
-
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="async-event-queue">
-          <xsd:complexType>
-            <xsd:sequence>
-              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-event-filter" type="gf:class-with-parameters-type" />
-              <xsd:element maxOccurs="1" minOccurs="0" name="gateway-event-substitution-filter" type="gf:class-with-parameters-type" />
-              <xsd:element name="async-event-listener" type="gf:class-with-parameters-type">
-                <xsd:annotation>
-                  <xsd:documentation>
-                    A "async-event-listener" element describes a region's AsyncEventListener.
-                  </xsd:documentation>
-                </xsd:annotation>
-              </xsd:element>
-            </xsd:sequence>
-            <xsd:attribute name="id" type="xsd:string" use="required" />
-            <xsd:attribute name="parallel" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
-            <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
-            <xsd:attribute name="enable-batch-conflation" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
-            <xsd:attribute name="persistent" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
-            <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
-            <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
-            <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
-          </xsd:complexType>
-        </xsd:element>
-
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="cache-server">
-          <xsd:annotation>
-            <xsd:documentation>
-              The "cache-server" element specifies a Cache Server that will accept requests from clients and that is started when the Cache is
-              declaratively initialized.
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:complexType>
-            <xsd:complexContent>
-              <xsd:extension base="gf:server-type">
-                <xsd:attribute name="tcp-no-delay" type="xsd:boolean" use="optional" />
-              </xsd:extension>
-            </xsd:complexContent>
-          </xsd:complexType>
-        </xsd:element>
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="hdfs-store" type="gf:hdfs-store-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="pdx" type="gf:pdx-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
-        <xsd:choice maxOccurs="unbounded" minOccurs="0">
-          <xsd:element name="jndi-bindings" type="gf:jndi-bindings-type" />
-          <xsd:element name="region" type="gf:region-type" />
-          <xsd:element name="vm-root-region" type="gf:region-type">
-            <xsd:annotation>
-              <xsd:appinfo>deprecated</xsd:appinfo>
-              <xsd:documentation>
-                A "vm-root-region" element is the same as "region".
-                This element exists for backwards compatiblity and should not be used
-                in new xml files.
-              </xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        </xsd:choice>
-        <xsd:element maxOccurs="1" minOccurs="0" name="function-service" type="gf:function-service-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="resource-manager" type="gf:resource-manager-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="serialization-registration" type="gf:serialization-registration-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="backup" type="xsd:string">
-          <xsd:annotation>
-            <xsd:documentation>
-              The backup element defines files or directories that should
-              be backed up when the system wide backup command is invoked.
-              Disk
-              stores with persistent data are automatically backed up,
-              they do not need to be listed with this element.
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
-        <xsd:element maxOccurs="1" minOccurs="0" name="initializer" type="gf:initializer-type" />
-        <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="copy-on-read" type="xsd:boolean" use="optional" />
-      <xsd:attribute name="is-server" type="xsd:boolean" use="optional" />
-      <xsd:attribute name="lock-timeout" type="xsd:string" use="optional" />
-      <xsd:attribute name="lock-lease" type="xsd:string" use="optional" />
-      <xsd:attribute name="message-sync-interval" type="xsd:string" use="optional" />
-      <xsd:attribute name="search-timeout" type="xsd:string" use="optional" />
-      <xsd:attribute name="version" type="gf:versionType" use="required" fixed="9.0" />
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="client-cache">
-    <xsd:annotation>
-      <xsd:documentation>
-        The "client-cache" element is the root element of the declarative cache file on a client. This element configures a GemFire ClientCache
-        and describes the root regions it contains, if any.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element maxOccurs="1" minOccurs="0" name="cache-transaction-manager" type="gf:cache-transaction-manager-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="dynamic-region-factory" type="gf:dynamic-region-factory-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="pdx" type="gf:pdx-type" />
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
-        <xsd:choice maxOccurs="unbounded" minOccurs="0">
-          <xsd:element name="jndi-bindings" type="gf:jndi-bindings-type" />
-          <xsd:element name="region" type="gf:region-type" />
-        </xsd:choice>
-        <xsd:element maxOccurs="1" minOccurs="0" name="function-service" type="gf:function-service-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="resource-manager" type="gf:resource-manager-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="serialization-registration" type="gf:serialization-registration-type" />
-        <xsd:element maxOccurs="1" minOccurs="0" name="initializer" type="gf:initializer-type" />
-      </xsd:sequence>
-      <xsd:attribute name="copy-on-read" type="xsd:boolean" use="optional" />
-      <xsd:attribute name="version" type="gf:versionType" use="required" fixed="9.0" />
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:complexType name="region-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "region" element describes a region (and its entries) in GemFire
-        distributed cache. It may be used to create a new region or may be
-        used to add new entries to an existing region. Note that the "name"
-        attribute specifies the simple name of the region; it cannot contain a
-        "/".
-        If "refid"
-        is set then it defines the default region attributes to use for this region.
-        A nested "region-attributes" element can override these defaults.
-        If the
-        nested "region-attributes" element has its own "refid" then it will cause the
-        "refid" on the region to be ignored.
-        "refid" can be set to the name of a
-        RegionShortcut or a ClientRegionShortcut
-        (see the javadocs of those enum classes for their names).
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="index">
-        <xsd:annotation>
-          <xsd:documentation>
-            An "index" element describes an index to be created on a region.
-            The index node, if any, should all come immediately after the
-            "region-attributes" node. There can be any number of functional types
-            of index on a Region, but only at max one index of type "primary-key". The
-            "name" attribute is a required field which identifies the name of the index.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:choice minOccurs="0">
-            <xsd:element name="functional">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A functional type of index needs a from-clause, expression which are mandatory.
-                  The import string is used for specifying the
-                  type of Object in the region or
-                  the type of Object which the indexed expression evaluates to.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:attribute name="expression" type="xsd:string" use="required" />
-                <xsd:attribute name="from-clause" type="xsd:string" use="required" />
-                <xsd:attribute name="imports" type="xsd:string" use="optional" />
-              </xsd:complexType>
-            </xsd:element>
-
-            <xsd:element name="primary-key">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A primary-key type of index needs a field attribute which is mandatory.
-                  There should be only one or zero primary-index defined
-                  for a region
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:attribute name="field" type="xsd:string" use="required" />
-              </xsd:complexType>
-            </xsd:element>
-          </xsd:choice>
-          <xsd:attribute name="name" type="xsd:string" use="required" />
-          <xsd:attribute name="expression" type="xsd:string" use="optional" />
-          <xsd:attribute name="from-clause" type="xsd:string" use="optional" />
-          <xsd:attribute name="imports" type="xsd:string" use="optional" />
-          <xsd:attribute name="key-index" type="xsd:boolean" use="optional" />
-          <xsd:attribute default="range" name="type" use="optional">
-            <xsd:simpleType>
-              <xsd:restriction base="xsd:string">
-                <xsd:enumeration value="range" />
-                <xsd:enumeration value="hash" />
-              </xsd:restriction>
-            </xsd:simpleType>
-          </xsd:attribute>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
-        <xsd:annotation>
-          <xsd:documentation>
-            An "entry" element desribes an entry to be added to a region. Note
-            that if an entry with the given key already exists in the region,
-            it
-            will be replaced.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="key">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "key" element describes the key in a Region entry.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:choice>
-                  <xsd:element name="string" type="gf:string-type" />
-                  <xsd:element name="declarable" type="gf:declarable-type" />
-                </xsd:choice>
-              </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="value">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "value" element describes the value in a Region entry
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:choice>
-                  <xsd:element name="string" type="gf:string-type" />
-                  <xsd:element name="declarable" type="gf:declarable-type" />
-                </xsd:choice>
-              </xsd:complexType>
-            </xsd:element>
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="region" type="gf:region-type" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-    <xsd:attribute name="refid" type="xsd:string" use="optional" />
-  </xsd:complexType>
-    <!-- ======================================================= -->
-    <!--
-A "region-attributes" element describes the attributes of a region to
-be created.
-As of 6.5 disk-dirs is deprecated on region-attributes. Use disk-store-name instead.
--->
-  <xsd:complexType name="region-attributes-type">
-    <xsd:sequence>
-      <xsd:element maxOccurs="1" minOccurs="0" name="key-constraint">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "key-constraint" element specifies the name of a class to which the
-            keys of a region are constrained.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element maxOccurs="1" minOccurs="0" name="value-constraint" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "value-constraint" element specifies the name of a class to which the
-            values of a region are constrained.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element maxOccurs="1" minOccurs="0" name="region-time-to-live">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "region-time-to-live" element specifies a Region's time to live.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="region-idle-time">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "region-idle-time" element specifies a Region's idle time.
-            Note that the APIs that correspond to this element add "out" to their
-            name.
-            See getRegionIdleTimeout and setRegionIdleTimeout.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="entry-time-to-live">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "entry-time-to-live" element specifies a Region's entries' time to
-            live.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="entry-idle-time">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "entry-idle-time" element specifies a Region's entries' idle time.
-            Note that the APIs that correspond to this element add "out" to
-            their name.
-            See getEntryIdleTimeout and setEntryIdleTimeout.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="disk-write-attributes">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "disk-write-attributes" element describes how entry data is written
-            to disk. Deprecated as of 6.5 use disk-store instead.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:choice>
-            <xsd:element name="asynchronous-writes">
-              <xsd:annotation>
-                <xsd:documentation>
-                  An "asynchronous-writes" element specifies how entry data should be
-                  written to disk asynchronous.
-                  Deprecated as of 6.5 use
-                  disk-store instead.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:attribute name="bytes-threshold" type="xsd:string" use="required" />
-                <xsd:attribute name="time-interval" type="xsd:string" use="required" />
-              </xsd:complexType>
-            </xsd:element>
-            <xsd:element name="synchronous-writes">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "synchronous-writes" element specifies that entry data should be
-                  written to disk synchronously.
-                </xsd:documentation>
-              </xsd:annotation>
-            </xsd:element>
-          </xsd:choice>
-          <xsd:attribute name="max-oplog-size" type="xsd:string" use="optional" />
-          <xsd:attribute name="roll-oplogs" type="xsd:string" use="optional" />
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dirs" type="gf:disk-dirs-type" />
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="partition-attributes">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "partition-attributes" element configures a region for partitioned
-            data storage.
-
-            local-max-memory attribute added to
-            partition-attributes in release 5.1
-            total-max-memory attribute added to partition-attributes in release 5.1
-            total-num-buckets attribute added to
-            partition-attributes in release 5.1
-            partition-resolver attribute added to partition-attributes in release 5.7
-            partition-listener attribute added to
-            partition-attributes in release 6.1
-            colocated-with attribute added to partition-attributes in release 5.7
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="1" minOccurs="0" name="partition-resolver">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "partition-resolver" element describes a partitioned region's custom
-                  PartitionResolver.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element name="class-name" type="gf:class-name-type" />
-                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-                </xsd:sequence>
-                <xsd:attribute name="name" type="xsd:string" use="optional" />
-              </xsd:complexType>
-            </xsd:element>
-
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="partition-listener">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "partition-listener" element describes a partitioned region's custom
-                  PartitionListener.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element name="class-name" type="gf:class-name-type" />
-                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-                </xsd:sequence>
-              </xsd:complexType>
-            </xsd:element>
-
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="fixed-partition-attributes">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "fixed-partition-attributes" element describes characteristics of a
-                  partition in a Fixed Partitioned Region.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:attribute name="partition-name" type="xsd:string" use="required" />
-                <xsd:attribute name="is-primary" type="xsd:boolean" use="optional" />
-                <xsd:attribute name="num-buckets" type="xsd:string" use="optional" />
-              </xsd:complexType>
-            </xsd:element>
-
-          </xsd:sequence>
-          <xsd:attribute name="local-max-memory" type="xsd:string" use="optional" />
-          <xsd:attribute name="recovery-delay" type="xsd:string" use="optional" />
-          <xsd:attribute name="redundant-copies" type="xsd:string" use="optional" />
-          <xsd:attribute name="startup-recovery-delay" type="xsd:string" use="optional" />
-          <xsd:attribute name="total-max-memory" type="xsd:string" use="optional" />
-          <xsd:attribute name="total-num-buckets" type="xsd:string" use="optional" />
-          <xsd:attribute name="colocated-with" type="xsd:string" use="optional" />
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="membership-attributes">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "membership-attributes" element configures a region for membership
-            constraints based on required roles.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="required-role">
-              <xsd:annotation>
-                <xsd:documentation>
-                  A "required-role" element specifies a role that is required for reliable
-                  access to the region
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:attribute name="name" type="xsd:string" use="required" />
-              </xsd:complexType>
-            </xsd:element>
-
-          </xsd:sequence>
-          <xsd:attribute name="loss-action" use="optional">
-            <xsd:simpleType>
-              <xsd:restriction base="xsd:string">
-                <xsd:enumeration value="full-access" />
-                <xsd:enumeration value="limited-access" />
-                <xsd:enumeration value="no-access" />
-                <xsd:enumeration value="reconnect" />
-              </xsd:restriction>
-            </xsd:simpleType>
-          </xsd:attribute>
-          <xsd:attribute name="resumption-action" use="optional">
-            <xsd:simpleType>
-              <xsd:restriction base="xsd:string">
-                <xsd:enumeration value="none" />
-                <xsd:enumeration value="reinitialize" />
-              </xsd:restriction>
-            </xsd:simpleType>
-          </xsd:attribute>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="subscription-attributes">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "subscription-attributes" element configures how a region subscribes
-            to remote distributed regions.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:attribute name="interest-policy" use="optional">
-            <xsd:simpleType>
-              <xsd:restriction base="xsd:string">
-                <xsd:enumeration value="all" />
-                <xsd:enumeration value="cache-content" />
-              </xsd:restriction>
-            </xsd:simpleType>
-          </xsd:attribute>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="cache-loader" type="gf:cache-loader-type" />
-      <xsd:element maxOccurs="1" minOccurs="0" name="cache-writer" type="gf:cache-writer-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="cache-listener">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "cache-listener" element describes a region's CacheListener.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="compressor">
-        <xsd:annotation>
-          <xsd:documentation>
-            A compressor registers a custom class which extends Compressor
-            to support compression on a region.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="1" minOccurs="0" name="eviction-attributes">
-        <xsd:annotation>
-          <xsd:documentation>
-            Create eviction attributes that monitor and control the size of the Region.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:choice>
-            <xsd:element name="lru-entry-count">
-              <xsd:annotation>
-                <xsd:documentation>
-                  Create an LRU eviction controller which performs the action if the
-                  Region has more than the maximum number of Entries in the
-                  Region.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
-                <xsd:attribute name="maximum" type="xsd:string" use="optional" />
-              </xsd:complexType>
-            </xsd:element>
-
-            <xsd:element name="lru-heap-percentage">
-              <xsd:annotation>
-                <xsd:documentation>
-                  Create an LRU which evicts entries using the specified action
-                  when the heap is over the resource manager
-                  critical heap/off-heap percentage.
-                  When the threshold has been exceeded each create or put operation
-                  is required to evict the same size of data which was
-                  added. The
-                  optional class-name and parameters allow for the declaration
-                  of an ObjectSizer, which will be used to determine data size.
-                  The class
-                  must implement the ObjectSizer interface.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence minOccurs="0">
-                  <xsd:element name="class-name" type="gf:class-name-type" />
-                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-                </xsd:sequence>
-                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
-              </xsd:complexType>
-            </xsd:element>
-
-            <xsd:element name="lru-memory-size">
-              <xsd:annotation>
-                <xsd:documentation>
-                  Create an LRU that performs the action when the memory size of the Region is
-                  over the maximum. The optional class-name and
-                  parameters allow for the
-                  declaration an ObjectSizer, which is used to measure the size of each Object
-                  in the Region. The class must implement
-                  the ObjectSizer interface.
-                </xsd:documentation>
-              </xsd:annotation>
-              <xsd:complexType>
-                <xsd:sequence minOccurs="0">
-                  <xsd:element name="class-name" type="gf:class-name-type" />
-                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-                </xsd:sequence>
-                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
-                <xsd:attribute name="maximum" type="xsd:string" use="optional" />
-              </xsd:complexType>
-            </xsd:element>
-          </xsd:choice>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="concurrency-level" type="xsd:string" use="optional" />
-    <xsd:attribute name="data-policy" type="gf:region-attributesData-policy" use="optional" />
-    <xsd:attribute name="early-ack" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="enable-async-conflation" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="enable-gateway" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="enable-subscription-conflation" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="gateway-sender-ids" type="xsd:string" use="optional" />
-    <xsd:attribute name="async-event-queue-ids" type="xsd:string" use="optional" />
-    <xsd:attribute name="hub-id" type="xsd:string" use="optional" />
-    <xsd:attribute name="id" type="xsd:string" use="optional" />
-    <xsd:attribute name="ignore-jta" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="index-update-type" type="gf:region-attributesIndex-update-type" use="optional" />
-    <xsd:attribute name="initial-capacity" type="xsd:string" use="optional" />
-    <xsd:attribute name="is-lock-grantor" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="load-factor" type="xsd:string" use="optional" />
-    <xsd:attribute name="mirror-type" type="gf:region-attributesMirror-type" use="optional" />
-    <xsd:attribute name="multicast-enabled" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="persist-backup" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="pool-name" type="xsd:string" use="optional" />
-    <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
-    <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="hdfs-store-name" type="xsd:string" use="optional" />
-    <xsd:attribute name="hdfs-write-only" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="publisher" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="refid" type="xsd:string" use="optional" />
-    <xsd:attribute name="scope" type="gf:region-attributesScope" use="optional" />
-    <xsd:attribute name="statistics-enabled" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="cloning-enabled" type="xsd:boolean" use="optional" />
-    <xsd:attribute default="true" name="concurrency-checks-enabled" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="off-heap" type="xsd:boolean" use="optional" />
-  </xsd:complexType>
-  <xsd:simpleType name="region-attributesData-policy">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="empty" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="partition" />
-      <xsd:enumeration value="persistent-replicate" />
-      <xsd:enumeration value="preloaded" />
-      <xsd:enumeration value="replicate" />
-      <xsd:enumeration value="persistent-partition" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="region-attributesIndex-update-type">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="asynchronous" />
-      <xsd:enumeration value="synchronous" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="region-attributesMirror-type">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="keys" />
-      <xsd:enumeration value="keys-values" />
-      <xsd:enumeration value="none" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="region-attributesScope">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="distributed-ack" />
-      <xsd:enumeration value="distributed-no-ack" />
-      <xsd:enumeration value="global" />
-      <xsd:enumeration value="local" />
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="enum-readable-writable">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="readable" />
-      <xsd:enumeration value="writable" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-    <!-- ======================================================= -->
-    <!--
--->
-    <!-- ======================================================= -->
-    <!--
--->
-    <!-- ======================================================= -->
-    <!--
--->
-    <!-- ======================================================= -->
-    <!--
--->
-    <!-- ======================================================= -->
-    <!--
--->
-    <!-- ======================================================= -->
-    <!--
--->
-    <!-- ======================================================= -->
-    <!-- ======================================================= -->
-
-  <xsd:complexType name="server-type">
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="group" type="xsd:string">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "group" element specifies a single server group.
-            Deprecated as of 7.0 use the groups gemfire property instead.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element maxOccurs="1" minOccurs="0" name="client-subscription">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "client-subscription" element describes the eviction policy, capacity and overflow-directory for client subscription
-            config. The
-            overflow-directory attribute is deprecated as of 6.5 use disk-store-name instead.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:attribute name="eviction-policy" use="required">
-            <xsd:simpleType>
-              <xsd:restriction base="xsd:string">
-                <xsd:enumeration value="entry" />
-                <xsd:enumeration value="mem" />
-              </xsd:restriction>
-            </xsd:simpleType>
-          </xsd:attribute>
-          <xsd:attribute name="capacity" type="xsd:string" use="required" />
-          <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
-          <xsd:attribute name="overflow-directory" type="xsd:string" use="optional" />
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element maxOccurs="1" minOccurs="0" name="custom-load-probe">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "custom-load-probe" element describes a callback that reports the load on a cache-server.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
-    <xsd:attribute name="hostname-for-clients" type="xsd:string" use="optional" />
-    <xsd:attribute name="max-connections" type="xsd:string" use="optional" />
-    <xsd:attribute name="maximum-message-count" type="xsd:string" use="optional" />
-    <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
-    <xsd:attribute name="max-threads" type="xsd:string" use="optional" />
-    <xsd:attribute name="message-time-to-live" type="xsd:string" use="optional" />
-    <xsd:attribute name="notify-by-subscription" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="port" type="xsd:string" use="optional" />
-    <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="load-poll-interval" type="xsd:string" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="resource-manager-type">
-    <xsd:annotation>
-      <xsd:appinfo>deprecated</xsd:appinfo>
-      <xsd:documentation>
-        The "resource manager" element configures the behavior of the resource manager.
-        The resource manager provides support for resource
-        management of its associated Cache
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="critical-heap-percentage" type="xsd:string" use="optional" />
-    <xsd:attribute name="eviction-heap-percentage" type="xsd:string" use="optional" />
-    <xsd:attribute name="critical-off-heap-percentage" type="xsd:string" use="optional" />
-    <xsd:attribute name="eviction-off-heap-percentage" type="xsd:string" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="function-service-type">
-    <xsd:annotation>
-      <xsd:documentation>The "function service" element configures the behavior of the function service.
-        The function service allows users to execute functions
-        on data stored in
-        GemFire
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="function">
-        <xsd:annotation>
-          <xsd:documentation>
-            The "function" element defines a function for registration in the function service
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="cache-loader-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "cache-loader" element describes a region's CacheLoader.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class-name" type="gf:class-name-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="cache-transaction-manager-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "cache-transaction-manager" element allows insertion of cache-level
-        transaction listeners.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="transaction-listener">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "transaction-listener" describes a TransactionListener.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element maxOccurs="1" minOccurs="0" name="transaction-writer">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "transaction-writer" describes a TransactionWriter.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="cache-writer-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "cache-writer" element describes a region's CacheWriter.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class-name" type="gf:class-name-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="serialization-registration-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A serialization-registration contains a set of serializer or
-        instantiator tags to register customer DataSerializer extensions
-        or
-        DataSerializable implementations respectively.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="serializer">
-        <xsd:annotation>
-          <xsd:documentation>
-            A serializer registers a custom class which extends DataSerializer
-            to support custom serialization of non-modifiable object types
-            inside
-            GemFire. The class must have a public zero-arg constructor.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="instantiator">
-        <xsd:annotation>
-          <xsd:documentation>
-            An instantiator registers a custom class which implements the
-            DataSerializable interface to support custom object serialization
-            inside GemFire. The class must have a public zero-arg constructor.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-          </xsd:sequence>
-          <xsd:attribute name="id" type="xsd:string" use="required">
-            <xsd:annotation>
-              <xsd:documentation>
-                The id that the instantiator should associate with the DataSerializable
-                type.
-              </xsd:documentation>
-            </xsd:annotation>
-          </xsd:attribute>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:simpleType name="class-name-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "class-name" element specifies the name of a class, an
-        instance of which is created when a declarative cache XML file is
-        read.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:string">
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:complexType name="disk-store-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "disk-store" element specifies a DiskStore for persistence.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dirs" type="gf:disk-dirs-type" />
-    </xsd:sequence>
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-    <xsd:attribute name="auto-compact" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="compaction-threshold" type="xsd:string" use="optional" />
-    <xsd:attribute name="allow-force-compaction" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="max-oplog-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="time-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="write-buffer-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="queue-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="disk-usage-warning-percentage" type="xsd:string" use="optional" />
-    <xsd:attribute name="disk-usage-critical-percentage" type="xsd:string" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType mixed="true" name="hdfs-store-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "hdfs-store" element specifies a HdfsStore for persistence.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-    <xsd:attribute name="namenode-url" type="xsd:string" use="optional" />
-    <xsd:attribute name="home-dir" type="xsd:string" use="optional" />
-    <xsd:attribute name="max-memory" type="xsd:string" use="optional" />
-    <xsd:attribute name="read-cache-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="batch-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
-    <xsd:attribute name="buffer-persistent" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="disk-store" type="xsd:string" use="optional" />
-    <xsd:attribute name="synchronous-disk-write" type="xsd:string" use="optional" />
-    <xsd:attribute name="hdfs-client-config-file" type="xsd:string" use="optional" />
-    <xsd:attribute name="purge-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="major-compaction" type="xsd:string" use="optional" />
-    <xsd:attribute name="major-compaction-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="major-compaction-threads" type="xsd:integer" use="optional" />
-    <xsd:attribute name="minor-compaction" type="xsd:string" use="optional" />
-    <xsd:attribute name="minor-compaction-threads" type="xsd:integer" use="optional" />
-    <xsd:attribute name="max-write-only-file-size" type="xsd:integer" use="optional" />
-    <xsd:attribute name="write-only-file-rollover-interval" type="xsd:string" use="optional" />    
-  </xsd:complexType>
-
-  <xsd:complexType name="pdx-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "pdx" element specifies the configuration for the portable data exchange (PDX) method of serialization.
-        The "read-serialized"
-        attribute is "early access".
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="1" minOccurs="0" name="pdx-serializer">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "pdx-serializer" element describes a serializer used to serialize objects in the portable data exchange format.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-    </xsd:sequence>
-    <xsd:attribute name="read-serialized" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="ignore-unread-fields" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="persistent" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="pool-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "pool" element specifies a client to server connection pool.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element maxOccurs="unbounded" minOccurs="1" name="locator">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "locator" element specifies the host and port that a server locator is listening on
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:attribute name="host" type="xsd:string" use="required" />
-          <xsd:attribute name="port" type="xsd:string" use="required" />
-        </xsd:complexType>
-      </xsd:element>
-      <xsd:element maxOccurs="unbounded" minOccurs="1" name="server">
-        <xsd:annotation>
-          <xsd:documentation>
-            A "server" element specifies the host and port that a cache server is listening on
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:attribute name="host" type="xsd:string" use="required" />
-          <xsd:attribute name="port" type="xsd:string" use="required" />
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:choice>
-    <xsd:attribute name="free-connection-timeout" type="xsd:string" use="optional" />
-    <xsd:attribute name="load-conditioning-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="min-connections" type="xsd:string" use="optional" />
-    <xsd:attribute name="max-connections" type="xsd:string" use="optional" />
-    <xsd:attribute name="retry-attempts" type="xsd:string" use="optional" />
-    <xsd:attribute name="idle-timeout" type="xsd:string" use="optional" />
-    <xsd:attribute name="ping-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-    <xsd:attribute name="read-timeout" type="xsd:string" use="optional" />
-    <xsd:attribute name="server-group" type="xsd:string" use="optional" />
-    <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
-    <xsd:attribute name="subscription-enabled" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="subscription-message-tracking-timeout" type="xsd:string" use="optional" />
-    <xsd:attribute name="subscription-ack-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="subscription-redundancy" type="xsd:string" use="optional" />
-    <xsd:attribute name="statistic-interval" type="xsd:string" use="optional" />
-    <xsd:attribute name="thread-local-connections" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="pr-single-hop-enabled" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="multiuser-authentication" type="xsd:boolean" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="declarable-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "declarable" element specifies a Declarable object to be placed in a
-        Region entry.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class-name" type="gf:class-name-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="disk-dir-type" mixed="true">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "disk-dir" element specifies one of a region or diskstore's disk directories.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:attribute name="dir-size" type="xsd:string" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="disk-dirs-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "disk-dirs" element specifies the region's disk directories.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="1" name="disk-dir" type="gf:disk-dir-type" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="dynamic-region-factory-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "dynamic-region-factory" element configures a dynamic region factory for
-        this cache. If this optional element is missing then the
-        cache does not
-        support dynamic regions.
-
-        The optional "disk-dir" sub-element can be used to specify the directory to
-        store the persistent files that are
-        used for dynamic region bookkeeping.
-        It defaults to the current directory.
-
-        The pool-name attribute can be used to set the name of the connection
-        pool used
-        by client applications in a client/server cache configuration.
-        It should not be specified in servers or peers.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dir" type="gf:disk-dir-type" />
-    </xsd:sequence>
-    <xsd:attribute name="disable-persist-backup" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="disable-register-interest" type="xsd:boolean" use="optional" />
-    <xsd:attribute name="pool-name" type="xsd:string" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="expiration-attributes-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        An "expiration-attributes" element describes expiration.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="1" minOccurs="0" name="custom-expiry">
-        <xsd:annotation>
-          <xsd:documentation>
-            The "custom-expiry" element specifies a callback that specifies
-            custom expiration attributes. See the CustomExpiry class.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="class-name" type="gf:class-name-type" />
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-
-    <xsd:attribute name="action" use="optional">
-      <xsd:simpleType>
-        <xsd:restriction base="xsd:string">
-          <xsd:enumeration value="destroy" />
-          <xsd:enumeration value="invalidate" />
-          <xsd:enumeration value="local-destroy" />
-          <xsd:enumeration value="local-invalidate" />
-        </xsd:restriction>
-      </xsd:simpleType>
-    </xsd:attribute>
-    <xsd:attribute name="timeout" type="xsd:string" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="initializer-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "initializer" element specifies a Declarable object whose init method
-        will be called after all other cache.xml initialization is
-        complete.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class-name" type="gf:class-name-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="class-with-parameters-type">
-    <xsd:sequence>
-      <xsd:element name="class-name" type="gf:class-name-type" />
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="jndi-bindings-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A jndi-bindings element will contain the jndi-binding for each of the
-        datasources which are to be bound with the JNDI Context.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element maxOccurs="unbounded" minOccurs="0" name="jndi-binding">
-        <xsd:annotation>
-          <xsd:documentation>
-            For every datasource which is bound to the JNDI tree, there will exist one
-            jndi-binding tag. This tag will describe the property
-            and
-            configuration of the
-            datasource. The attributes of jndi-binding are used for configuration by
-            GemFire, while the property element is used to
-            configure
-            the custom property
-            for the datasource.
-
-            The "xa-datasource-class" must be set when type is XAPooledDataSource,
-            "conn-pooled-datasource-class" must be
-            set when type is PooledDataSource,
-            and "jdbc-driver-class" msut be set when the type is SimpleDataSource.
-            It
-            is advisable to set the user-name and
-            password as attributes
-            rather than as a property element.
-            Alternatively, they may both be set as attributes of
-            the jndi-binding tag
-            as well as an
-            attribute of the property tag.
-          </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element maxOccurs="unbounded" minOccurs="0" name="config-property">
-              <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element name="config-property-name" type="xsd:string" />
-                  <xsd:element name="config-property-type" type="xsd:string" />
-                  <xsd:element name="config-property-value" type="xsd:string" />
-                </xsd:sequence>
-              </xsd:complexType>
-            </xsd:element>
-
-          </xsd:sequence>
-          <xsd:attribute name="blocking-timeout-seconds" type="xsd:string" use="optional" />
-          <xsd:attribute name="conn-pooled-datasource-class" type="xsd:string" use="optional" />
-          <xsd:attribute name="connection-url" type="xsd:string" use="optional" />
-          <xsd:attribute name="idle-timeout-seconds" type="xsd:string" use="optional" />
-          <xsd:attribute name="init-pool-size" type="xsd:string" use="optional" />
-          <xsd:attribute name="jdbc-driver-class" type="xsd:string" use="optional" />
-          <xsd:attribute name="jndi-name" type="xsd:string" use="required" />
-          <xsd:attribute name="login-timeout-seconds" type="xsd:string" use="optional" />
-          <xsd:attribute name="managed-conn-factory-class" type="xsd:string" use="optional" />
-          <xsd:attribute name="max-pool-size" type="xsd:string" use="optional" />
-          <xsd:attribute name="password" type="xsd:string" use="optional" />
-          <xsd:attribute name="transaction-type" type="xsd:string" use="optional" />
-          <xsd:attribute name="type" use="required">
-            <xsd:simpleType>
-              <xsd:restriction base="xsd:string">
-                <xsd:enumeration value="ManagedDataSource" />
-                <xsd:enumeration value="SimpleDataSource" />
-                <xsd:enumeration value="PooledDataSource" />
-                <xsd:enumeration value="XAPooledDataSource" />
-              </xsd:restriction>
-            </xsd:simpleType>
-          </xsd:attribute>
-          <xsd:attribute name="user-name" type="xsd:string" use="optional" />
-          <xsd:attribute name="xa-datasource-class" type="xsd:string" use="optional" />
-        </xsd:complexType>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:simpleType name="enum-action-destroy-overflow">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="local-destroy" />
-      <xsd:enumeration value="overflow-to-disk" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:complexType name="parameter-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "parameter" element describes a parameter used to initialize a
-        Declarable object.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="string" type="gf:string-type" />
-      <xsd:element name="declarable" type="gf:declarable-type" />
-    </xsd:choice>
-    <xsd:attribute name="name" type="xsd:string" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="string-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        A "string" element specifies a String to be placed in a Region entry.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string"></xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:simpleType name="versionType">
-    <xsd:annotation>
-      <xsd:documentation>
-        Decimal version type.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:restriction base="xsd:token">
-      <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-<!-- TODO -->
-    <!-- Will put refid later.....refid   IDREF #IMPLIED -->
-
-</xsd:schema>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml58DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml58DUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml58DUnitTest.java
index 2b2242b..c56b6ed 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml58DUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml58DUnitTest.java
@@ -248,7 +248,7 @@ public class CacheXml58DUnitTest extends CacheXml57DUnitTest
     AttributesFactory fac = new AttributesFactory(attrs);
 
 //  TODO mthomas 01/20/09 Move test back to using LRUHeap when config issues have settled
-//    if (getGemFireVersion().equals(CacheXml.VERSION_6_0)) {
+//    if (getGemFireVersion().equals(CacheXml.GEMFIRE_6_0)) {
 //      fac.setEvictionAttributes(EvictionAttributes.createLRUHeapAttributes(null,
 //          EvictionAction.OVERFLOW_TO_DISK));
 //    } else {
@@ -303,7 +303,7 @@ public class CacheXml58DUnitTest extends CacheXml57DUnitTest
     assertEquals(regionAttrs.getEntryIdleTimeout().getTimeout(), expiration.getTimeout());
     assertEquals(regionAttrs.getEntryTimeToLive().getTimeout(), expiration.getTimeout());    
 //  TODO mthomas 01/20/09 Move test back to using LRUHeap when config issues have settled
-//    if (getGemFireVersion().equals(CacheXml.VERSION_6_0)) {
+//    if (getGemFireVersion().equals(CacheXml.GEMFIRE_6_0)) {
 //      assertEquals(ea.getAlgorithm(),EvictionAlgorithm.LRU_HEAP);
 //    } else {
     assertEquals(ea.getAlgorithm(),EvictionAlgorithm.LRU_MEMORY);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml90DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml90DUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml90DUnitTest.java
deleted file mode 100644
index 21e6c61..0000000
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml90DUnitTest.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * 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.
- */
-
-/**
- * 
- */
-package com.gemstone.gemfire.cache30;
-
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.cache.LocalRegion;
-import com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation;
-import com.gemstone.gemfire.internal.cache.xmlcache.CacheXml;
-import com.gemstone.gemfire.internal.cache.xmlcache.RegionAttributesCreation;
-import com.gemstone.gemfire.internal.cache.xmlcache.ResourceManagerCreation;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-import com.gemstone.gemfire.test.dunit.IgnoredException;
-
-
-public class CacheXml90DUnitTest extends CacheXml81DUnitTest {
-  private static final long serialVersionUID = -6437436147079728413L;
-
-  public CacheXml90DUnitTest(String name) {
-    super(name);
-  }
-
-  
-  // ////// Helper methods
-
-  protected String getGemFireVersion()
-  {
-    return CacheXml.VERSION_9_0;
-  }
-
-  @SuppressWarnings("rawtypes")
-  public void testEnableOffHeapMemory() {
-    try {
-      System.setProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME, "1m");
-      
-      final String regionName = "testEnableOffHeapMemory";
-      
-      final CacheCreation cache = new CacheCreation();
-      final RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-      attrs.setOffHeap(true);
-      assertEquals(true, attrs.getOffHeap());
-      
-      final Region regionBefore = cache.createRegion(regionName, attrs);
-      assertNotNull(regionBefore);
-      assertEquals(true, regionBefore.getAttributes().getOffHeap());
-  
-      testXml(cache);
-      
-      final Cache c = getCache();
-      assertNotNull(c);
-  
-      final Region regionAfter = c.getRegion(regionName);
-      assertNotNull(regionAfter);
-      assertEquals(true, regionAfter.getAttributes().getOffHeap());
-      assertEquals(true, ((LocalRegion)regionAfter).getOffHeap());
-      regionAfter.localDestroyRegion();
-    } finally {
-      System.clearProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME);
-    }
-  }
-
-  @SuppressWarnings("rawtypes")
-  public void testEnableOffHeapMemoryRootRegionWithoutOffHeapMemoryThrowsException() {
-    final String regionName = getUniqueName();
-    
-    final CacheCreation cache = new CacheCreation();
-    final RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-    attrs.setOffHeap(true);
-    assertEquals(true, attrs.getOffHeap());
-    
-    final Region regionBefore = cache.createRegion(regionName, attrs);
-    assertNotNull(regionBefore);
-    assertEquals(true, regionBefore.getAttributes().getOffHeap());
-
-    IgnoredException expectedException = IgnoredException.addIgnoredException(LocalizedStrings.
-        LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.toLocalizedString("/"+regionName));
-    try {
-      testXml(cache);
-    } catch (IllegalStateException e) {
-      // expected
-      String msg = LocalizedStrings.LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.toLocalizedString("/"+regionName);
-      assertEquals(msg, e.getMessage());
-    } finally {
-      expectedException.remove();
-    }
-  }
-  
-  @SuppressWarnings({ "rawtypes", "deprecation", "unchecked" })
-  public void testEnableOffHeapMemorySubRegionWithoutOffHeapMemoryThrowsException() {
-    final String rootRegionName = getUniqueName();
-    final String subRegionName = "subRegion";
-    
-    final CacheCreation cache = new CacheCreation();
-    final RegionAttributesCreation rootRegionAttrs = new RegionAttributesCreation(cache);
-    assertEquals(false, rootRegionAttrs.getOffHeap());
-    
-    final Region rootRegionBefore = cache.createRegion(rootRegionName, rootRegionAttrs);
-    assertNotNull(rootRegionBefore);
-    assertEquals(false, rootRegionBefore.getAttributes().getOffHeap());
-    
-    final RegionAttributesCreation subRegionAttrs = new RegionAttributesCreation(cache);
-    subRegionAttrs.setOffHeap(true);
-    assertEquals(true, subRegionAttrs.getOffHeap());
-    
-    final Region subRegionBefore = rootRegionBefore.createSubregion(subRegionName, subRegionAttrs);
-    assertNotNull(subRegionBefore);
-    assertEquals(true, subRegionBefore.getAttributes().getOffHeap());
-
-    IgnoredException expectedException = IgnoredException.addIgnoredException(LocalizedStrings.
-        LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.toLocalizedString("/"+rootRegionName+"/"+subRegionName));
-    try {
-      testXml(cache);
-    } catch (IllegalStateException e) {
-      // expected
-      final String msg = LocalizedStrings.LocalRegion_THE_REGION_0_WAS_CONFIGURED_TO_USE_OFF_HEAP_MEMORY_BUT_OFF_HEAP_NOT_CONFIGURED.
-          toLocalizedString("/" + rootRegionName + "/" + subRegionName);
-      assertEquals(msg, e.getMessage());
-    } finally {
-      expectedException.remove();
-    }
-  }
-
-  /**
-   * Test the ResourceManager element's critical-off-heap-percentage and 
-   * eviction-off-heap-percentage attributes
-   * @throws Exception
-   */
-  public void testResourceManagerThresholds() throws Exception {
-    CacheCreation cache = new CacheCreation();
-    final float low = 90.0f;
-    final float high = 95.0f;
-
-    try {
-      System.setProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME, "1m");
-
-      Cache c;
-      ResourceManagerCreation rmc = new ResourceManagerCreation();
-      rmc.setEvictionOffHeapPercentage(low);
-      rmc.setCriticalOffHeapPercentage(high);
-      cache.setResourceManagerCreation(rmc);
-      testXml(cache);
-      {
-        c = getCache();
-        assertEquals(low, c.getResourceManager().getEvictionOffHeapPercentage());
-        assertEquals(high, c.getResourceManager().getCriticalOffHeapPercentage());
-      }
-      closeCache();
-      
-      rmc = new ResourceManagerCreation();
-      // Set them to similar values
-      rmc.setEvictionOffHeapPercentage(low);
-      rmc.setCriticalOffHeapPercentage(low + 1);
-      cache.setResourceManagerCreation(rmc);
-      testXml(cache);
-      {
-        c = getCache();
-        assertEquals(low, c.getResourceManager().getEvictionOffHeapPercentage());
-        assertEquals(low + 1, c.getResourceManager().getCriticalOffHeapPercentage());
-      }
-      closeCache();
-  
-      rmc = new ResourceManagerCreation();
-      rmc.setEvictionOffHeapPercentage(high);
-      rmc.setCriticalOffHeapPercentage(low);
-      cache.setResourceManagerCreation(rmc);
-      IgnoredException expectedException = IgnoredException.addIgnoredException(LocalizedStrings.MemoryMonitor_EVICTION_PERCENTAGE_LTE_CRITICAL_PERCENTAGE.toLocalizedString());
-      try {
-        testXml(cache);
-        assertTrue(false);
-      } catch (IllegalArgumentException expected) {
-      } finally {
-        expectedException.remove();
-        closeCache();
-      }
-  
-      // Disable eviction
-      rmc = new ResourceManagerCreation();
-      rmc.setEvictionOffHeapPercentage(0);
-      rmc.setCriticalOffHeapPercentage(low);
-      cache.setResourceManagerCreation(rmc);
-      testXml(cache);
-      {
-        c = getCache();
-        assertEquals(0f, c.getResourceManager().getEvictionOffHeapPercentage());
-        assertEquals(low, c.getResourceManager().getCriticalOffHeapPercentage());
-      }
-      closeCache();
-  
-      // Disable refusing ops in "red zone"
-      rmc = new ResourceManagerCreation();
-      rmc.setEvictionOffHeapPercentage(low);
-      rmc.setCriticalOffHeapPercentage(0);
-      cache.setResourceManagerCreation(rmc);
-      testXml(cache);
-      {
-        c = getCache();
-        assertEquals(low, c.getResourceManager().getEvictionOffHeapPercentage());
-        assertEquals(0f, c.getResourceManager().getCriticalOffHeapPercentage());
-      }
-      closeCache();
-  
-      // Disable both
-      rmc = new ResourceManagerCreation();
-      rmc.setEvictionOffHeapPercentage(0);
-      rmc.setCriticalOffHeapPercentage(0);
-      cache.setResourceManagerCreation(rmc);
-      testXml(cache);
-      c = getCache();
-      assertEquals(0f, c.getResourceManager().getEvictionOffHeapPercentage());
-      assertEquals(0f, c.getResourceManager().getCriticalOffHeapPercentage());
-    } finally {
-      System.clearProperty("gemfire."+DistributionConfig.OFF_HEAP_MEMORY_SIZE_NAME);
-    }
-  }
-}


[4/5] incubator-geode git commit: GEODE-386: Change xsd namespace to apache

Posted by je...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1458b985/geode-core/src/main/resources/META-INF/schemas/geode.apache.org/schema/cache/cache-1.0.xsd
----------------------------------------------------------------------
diff --git a/geode-core/src/main/resources/META-INF/schemas/geode.apache.org/schema/cache/cache-1.0.xsd b/geode-core/src/main/resources/META-INF/schemas/geode.apache.org/schema/cache/cache-1.0.xsd
new file mode 100644
index 0000000..c9c4f91
--- /dev/null
+++ b/geode-core/src/main/resources/META-INF/schemas/geode.apache.org/schema/cache/cache-1.0.xsd
@@ -0,0 +1,1469 @@
+<?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.
+  -->
+<xsd:schema
+    targetNamespace="http://geode.apache.org/schema/cache"
+    xmlns:gf="http://geode.apache.org/schema/cache"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified"
+    version="1.0">
+  <xsd:annotation>
+    <xsd:documentation><![CDATA[
+This is the XML Schema for the Geode distributed cache declarative
+caching XML file. All declarative cache files must include a schema
+of the following form:
+
+  <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/cache/cache-1.0.xsd"
+    version="1.0">
+
+If you are declaring a client cache then use this schema:
+
+  <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/cache/cache-1.0.xsd"
+    version="1.0">
+
+The contents of a declarative XML file correspond to APIs found in the
+com.gemstone.gemfire.cache and com.gemstone.gemfire.cache.client
+packages. A declarative caching XML file is used to populate a Cache
+or a ClientCache when it is created.
+
+The top-level element in this syntax is "cache" or "client-cache".
+All elements are listed here in alphabetical order.
+
+The following conventions apply to all Geode distributed cache
+declarative caching XML file elements unless indicated otherwise.
+
+- In elements that contain PCDATA, leading and trailing whitespace in
+  the data may be ignored.
+
+- In elements whose value is an "enumerated type", the value is case
+  sensitive.
+  
+  ]]></xsd:documentation>
+  </xsd:annotation>
+
+    <!--
+-->
+  <xsd:element name="cache">
+    <xsd:annotation>
+      <xsd:documentation>
+        The "cache" element is the root element of the declarative cache file on a peer or server.
+        This element configures a Geode Cache and describes the root regions it contains, if any.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element maxOccurs="1" minOccurs="0" name="cache-transaction-manager" type="gf:cache-transaction-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="dynamic-region-factory" type="gf:dynamic-region-factory-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-hub">
+          <xsd:annotation>
+            <xsd:documentation>
+              The "gateway-hub" element specifies a Gateway Hub that is
+              initialized when the Cache is declaratively initialized.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    The "gateway" element specifies a Gateway that is
+                    initialized when a GatewayHub is declaratively initialized.
+                  </xsd:documentation>
+                </xsd:annotation>
+                <xsd:complexType>
+                  <xsd:sequence>
+                    <xsd:choice>
+                      <xsd:element maxOccurs="unbounded" minOccurs="1" name="gateway-endpoint">
+                        <xsd:annotation>
+                          <xsd:documentation>
+                            The "gateway-endpoint" element specifies an endpoint that is
+                            initialized when a Gateway is declaratively initialized.
+                          </xsd:documentation>
+                        </xsd:annotation>
+                        <xsd:complexType>
+                          <xsd:attribute name="host" type="xsd:string" use="required" />
+                          <xsd:attribute name="id" type="xsd:string" use="required" />
+                          <xsd:attribute name="port" type="xsd:string" use="required" />
+                        </xsd:complexType>
+                      </xsd:element>
+                      <xsd:element maxOccurs="unbounded" minOccurs="1" name="gateway-listener">
+                        <xsd:annotation>
+                          <xsd:documentation>
+                            The "gateway-listener" element specifies a listener that is
+                            initialized when a Gateway is declaratively initialized.
+                          </xsd:documentation>
+                        </xsd:annotation>
+                        <xsd:complexType>
+                          <xsd:sequence>
+                            <xsd:element name="class-name" type="gf:class-name-type" />
+                            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                          </xsd:sequence>
+                        </xsd:complexType>
+                      </xsd:element>
+                    </xsd:choice>
+                    <xsd:element maxOccurs="1" minOccurs="0" name="gateway-queue">
+                      <xsd:annotation>
+                        <xsd:documentation>
+                          The "gateway-queue" element specifies a queue that is initialized when a
+                          Gateway is declaratively initialized. As of 6.5 overflow-directory is
+                          deprecated. Use disk-store-name instead. As of 6.5 roll-oplogs is
+                          deprecated. Use disk-store-name instead.
+                        </xsd:documentation>
+                      </xsd:annotation>
+                      <xsd:complexType>
+                        <xsd:attribute name="alert-threshold" type="xsd:string" use="optional" />
+                        <xsd:attribute name="batch-conflation" type="xsd:boolean" use="optional" />
+                        <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+                        <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
+                        <xsd:attribute name="enable-persistence" type="xsd:boolean" use="optional" />
+                        <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+                        <xsd:attribute name="roll-oplogs" type="xsd:boolean" use="optional" />
+                        <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
+                        <xsd:attribute name="overflow-directory" type="xsd:string" use="optional" />
+                      </xsd:complexType>
+                    </xsd:element>
+                  </xsd:sequence>
+                  <xsd:attribute name="early-ack" type="xsd:boolean" use="optional" />
+                  <xsd:attribute name="id" type="xsd:string" use="required" />
+                  <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+                  <xsd:attribute name="socket-read-timeout" type="xsd:string" use="optional" />
+                  <xsd:attribute name="concurrency-level" type="xsd:string" use="optional" />
+                  <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
+                </xsd:complexType>
+              </xsd:element>
+            </xsd:sequence>
+            <xsd:attribute name="id" type="xsd:string" use="required" />
+            <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
+            <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
+            <xsd:attribute name="port" type="xsd:string" use="optional" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="startup-policy" use="optional">
+              <xsd:simpleType>
+                <xsd:restriction base="xsd:string">
+                  <xsd:enumeration value="primary" />
+                  <xsd:enumeration value="secondary" />
+                  <xsd:enumeration value="none" />
+                </xsd:restriction>
+              </xsd:simpleType>
+            </xsd:attribute>
+            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="max-connections" type="xsd:integer" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-sender">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-event-filter" type="gf:class-with-parameters-type" />
+              <xsd:element maxOccurs="1" minOccurs="0" name="gateway-event-substitution-filter" type="gf:class-with-parameters-type" />
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-transport-filter" type="gf:class-with-parameters-type" />
+            </xsd:sequence>
+            <xsd:attribute name="id" type="xsd:string" use="required" />
+            <xsd:attribute name="remote-distributed-system-id" type="xsd:string" use="required" />
+            <xsd:attribute name="parallel" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="socket-read-timeout" type="xsd:string" use="optional" />
+            <xsd:attribute name="enable-batch-conflation" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
+            <xsd:attribute name="enable-persistence" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+            <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
+            <xsd:attribute name="alert-threshold" type="xsd:string" use="optional" />
+            <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
+            <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-receiver">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-transport-filter" type="gf:class-with-parameters-type" />
+            </xsd:sequence>
+            <xsd:attribute name="start-port" type="xsd:string" use="optional" />
+            <xsd:attribute name="end-port" type="xsd:string" use="optional" />
+            <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
+            <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="hostname-for-senders" type="xsd:string" use="optional" />
+            <xsd:attribute name="manual-start" type="xsd:boolean" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="1" minOccurs="0" name="gateway-conflict-resolver">
+          <xsd:annotation>
+            <xsd:documentation>
+              A "gateway-conflict-resolver" element describes a region's GatewayConflictResolver.
+              It is used to resolve inter-system concurrency conflicts.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="class-name" type="gf:class-name-type" />
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="async-event-queue">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element maxOccurs="unbounded" minOccurs="0" name="gateway-event-filter" type="gf:class-with-parameters-type" />
+              <xsd:element maxOccurs="1" minOccurs="0" name="gateway-event-substitution-filter" type="gf:class-with-parameters-type" />
+              <xsd:element name="async-event-listener" type="gf:class-with-parameters-type">
+                <xsd:annotation>
+                  <xsd:documentation>
+                    A "async-event-listener" element describes a region's AsyncEventListener.
+                  </xsd:documentation>
+                </xsd:annotation>
+              </xsd:element>
+            </xsd:sequence>
+            <xsd:attribute name="id" type="xsd:string" use="required" />
+            <xsd:attribute name="parallel" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+            <xsd:attribute name="batch-time-interval" type="xsd:string" use="optional" />
+            <xsd:attribute name="enable-batch-conflation" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="maximum-queue-memory" type="xsd:string" use="optional" />
+            <xsd:attribute name="persistent" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+            <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
+            <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
+            <xsd:attribute name="order-policy" type="xsd:string" use="optional" />
+          </xsd:complexType>
+        </xsd:element>
+
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="cache-server">
+          <xsd:annotation>
+            <xsd:documentation>
+              The "cache-server" element specifies a Cache Server that will accept requests from
+              clients and that is started when the Cache is declaratively initialized.
+            </xsd:documentation>
+          </xsd:annotation>
+          <xsd:complexType>
+            <xsd:complexContent>
+              <xsd:extension base="gf:server-type">
+                <xsd:attribute name="tcp-no-delay" type="xsd:boolean" use="optional" />
+              </xsd:extension>
+            </xsd:complexContent>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="hdfs-store" type="gf:hdfs-store-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="pdx" type="gf:pdx-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element name="jndi-bindings" type="gf:jndi-bindings-type" />
+          <xsd:element name="region" type="gf:region-type" />
+          <xsd:element name="vm-root-region" type="gf:region-type">
+            <xsd:annotation>
+              <xsd:appinfo>deprecated</xsd:appinfo>
+              <xsd:documentation>
+                A "vm-root-region" element is the same as "region". This element exists for
+                backwards compatiblity and should not be used in new xml files.
+              </xsd:documentation>
+            </xsd:annotation>
+          </xsd:element>
+        </xsd:choice>
+        <xsd:element maxOccurs="1" minOccurs="0" name="function-service" type="gf:function-service-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="resource-manager" type="gf:resource-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="serialization-registration" type="gf:serialization-registration-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="backup" type="xsd:string">
+          <xsd:annotation>
+            <xsd:documentation>
+              The backup element defines files or directories that should be backed up when the
+              system wide backup command is invoked. Disk stores with persistent data are
+              automatically backed up, they do not need to be listed with this element.
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element maxOccurs="1" minOccurs="0" name="initializer" type="gf:initializer-type" />
+        <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="copy-on-read" type="xsd:boolean" use="optional" />
+      <xsd:attribute name="is-server" type="xsd:boolean" use="optional" />
+      <xsd:attribute name="lock-timeout" type="xsd:string" use="optional" />
+      <xsd:attribute name="lock-lease" type="xsd:string" use="optional" />
+      <xsd:attribute name="message-sync-interval" type="xsd:string" use="optional" />
+      <xsd:attribute name="search-timeout" type="xsd:string" use="optional" />
+      <xsd:attribute name="version" type="gf:versionType" use="required" fixed="1.0" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="client-cache">
+    <xsd:annotation>
+      <xsd:documentation>
+        The "client-cache" element is the root element of the declarative cache file on a client.
+        This element configures a Geode ClientCache and describes the root regions it contains, if any.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element maxOccurs="1" minOccurs="0" name="cache-transaction-manager" type="gf:cache-transaction-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="dynamic-region-factory" type="gf:dynamic-region-factory-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="pdx" type="gf:pdx-type" />
+        <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element name="jndi-bindings" type="gf:jndi-bindings-type" />
+          <xsd:element name="region" type="gf:region-type" />
+        </xsd:choice>
+        <xsd:element maxOccurs="1" minOccurs="0" name="function-service" type="gf:function-service-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="resource-manager" type="gf:resource-manager-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="serialization-registration" type="gf:serialization-registration-type" />
+        <xsd:element maxOccurs="1" minOccurs="0" name="initializer" type="gf:initializer-type" />
+      </xsd:sequence>
+      <xsd:attribute name="copy-on-read" type="xsd:boolean" use="optional" />
+      <xsd:attribute name="version" type="gf:versionType" use="required" fixed="1.0" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:complexType name="region-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "region" element describes a region (and its entries) in Geode distributed cache.
+        It may be used to create a new region or may be used to add new entries to an existing
+        region. Note that the "name" attribute specifies the simple name of the region; it
+        cannot contain a "/". If "refid" is set then it defines the default region attributes
+        to use for this region. A nested "region-attributes" element can override these defaults.
+        If the nested "region-attributes" element has its own "refid" then it will cause the
+        "refid" on the region to be ignored. "refid" can be set to the name of a RegionShortcut
+        or a ClientRegionShortcut (see the javadocs of those enum classes for their names).
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="region-attributes" type="gf:region-attributes-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="index">
+        <xsd:annotation>
+          <xsd:documentation>
+            An "index" element describes an index to be created on a region.
+            The index node, if any, should all come immediately after the
+            "region-attributes" node. There can be any number of functional types
+            of index on a Region, but only at max one index of type "primary-key". The
+            "name" attribute is a required field which identifies the name of the index.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:choice minOccurs="0">
+            <xsd:element name="functional">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A functional type of index needs a from-clause, expression which are mandatory.
+                  The import string is used for specifying the type of Object in the region or
+                  the type of Object which the indexed expression evaluates to.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="expression" type="xsd:string" use="required" />
+                <xsd:attribute name="from-clause" type="xsd:string" use="required" />
+                <xsd:attribute name="imports" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element name="primary-key">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A primary-key type of index needs a field attribute which is mandatory.
+                  There should be only one or zero primary-index defined for a region
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="field" type="xsd:string" use="required" />
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:choice>
+          <xsd:attribute name="name" type="xsd:string" use="required" />
+          <xsd:attribute name="expression" type="xsd:string" use="optional" />
+          <xsd:attribute name="from-clause" type="xsd:string" use="optional" />
+          <xsd:attribute name="imports" type="xsd:string" use="optional" />
+          <xsd:attribute name="key-index" type="xsd:boolean" use="optional" />
+          <xsd:attribute default="range" name="type" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="range" />
+                <xsd:enumeration value="hash" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="entry">
+        <xsd:annotation>
+          <xsd:documentation>
+            An "entry" element desribes an entry to be added to a region. Note
+            that if an entry with the given key already exists in the region,
+            it will be replaced.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="key">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "key" element describes the key in a Region entry.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:choice>
+                  <xsd:element name="string" type="gf:string-type" />
+                  <xsd:element name="declarable" type="gf:declarable-type" />
+                </xsd:choice>
+              </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="value">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "value" element describes the value in a Region entry
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:choice>
+                  <xsd:element name="string" type="gf:string-type" />
+                  <xsd:element name="declarable" type="gf:declarable-type" />
+                </xsd:choice>
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="region" type="gf:region-type" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="refid" type="xsd:string" use="optional" />
+  </xsd:complexType>
+    <!-- ======================================================= -->
+    <!--
+A "region-attributes" element describes the attributes of a region to
+be created.
+As of 6.5 disk-dirs is deprecated on region-attributes. Use disk-store-name instead.
+-->
+  <xsd:complexType name="region-attributes-type">
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="key-constraint">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "key-constraint" element specifies the name of a class to which the
+            keys of a region are constrained.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="value-constraint" type="xsd:string">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "value-constraint" element specifies the name of a class to which the
+            values of a region are constrained.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="region-time-to-live">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "region-time-to-live" element specifies a Region's time to live.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="region-idle-time">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "region-idle-time" element specifies a Region's idle time.
+            Note that the APIs that correspond to this element add "out" to their
+            name. See getRegionIdleTimeout and setRegionIdleTimeout.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="entry-time-to-live">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "entry-time-to-live" element specifies a Region's entries' time to
+            live.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="entry-idle-time">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "entry-idle-time" element specifies a Region's entries' idle time.
+            Note that the APIs that correspond to this element add "out" to
+            their name. See getEntryIdleTimeout and setEntryIdleTimeout.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="expiration-attributes" type="gf:expiration-attributes-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-write-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "disk-write-attributes" element describes how entry data is written
+            to disk. Deprecated as of 6.5 use disk-store instead.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:choice>
+            <xsd:element name="asynchronous-writes">
+              <xsd:annotation>
+                <xsd:documentation>
+                  An "asynchronous-writes" element specifies how entry data should be
+                  written to disk asynchronous. Deprecated as of 6.5 use disk-store instead.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="bytes-threshold" type="xsd:string" use="required" />
+                <xsd:attribute name="time-interval" type="xsd:string" use="required" />
+              </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="synchronous-writes">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "synchronous-writes" element specifies that entry data should be
+                  written to disk synchronously.
+                </xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+          </xsd:choice>
+          <xsd:attribute name="max-oplog-size" type="xsd:string" use="optional" />
+          <xsd:attribute name="roll-oplogs" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dirs" type="gf:disk-dirs-type" />
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="partition-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "partition-attributes" element configures a region for partitioned
+            data storage.
+
+            local-max-memory attribute added to partition-attributes in release 5.1
+            total-max-memory attribute added to partition-attributes in release 5.1
+            total-num-buckets attribute added to partition-attributes in release 5.1
+            partition-resolver attribute added to partition-attributes in release 5.7
+            partition-listener attribute added to partition-attributes in release 6.1
+            colocated-with attribute added to partition-attributes in release 5.7
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element maxOccurs="1" minOccurs="0" name="partition-resolver">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "partition-resolver" element describes a partitioned region's custom
+                  PartitionResolver.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence>
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+                <xsd:attribute name="name" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="partition-listener">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "partition-listener" element describes a partitioned region's custom
+                  PartitionListener.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence>
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="fixed-partition-attributes">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "fixed-partition-attributes" element describes characteristics of a
+                  partition in a Fixed Partitioned Region.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="partition-name" type="xsd:string" use="required" />
+                <xsd:attribute name="is-primary" type="xsd:boolean" use="optional" />
+                <xsd:attribute name="num-buckets" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+          </xsd:sequence>
+          <xsd:attribute name="local-max-memory" type="xsd:string" use="optional" />
+          <xsd:attribute name="recovery-delay" type="xsd:string" use="optional" />
+          <xsd:attribute name="redundant-copies" type="xsd:string" use="optional" />
+          <xsd:attribute name="startup-recovery-delay" type="xsd:string" use="optional" />
+          <xsd:attribute name="total-max-memory" type="xsd:string" use="optional" />
+          <xsd:attribute name="total-num-buckets" type="xsd:string" use="optional" />
+          <xsd:attribute name="colocated-with" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="membership-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "membership-attributes" element configures a region for membership
+            constraints based on required roles.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="required-role">
+              <xsd:annotation>
+                <xsd:documentation>
+                  A "required-role" element specifies a role that is required for reliable
+                  access to the region
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="name" type="xsd:string" use="required" />
+              </xsd:complexType>
+            </xsd:element>
+
+          </xsd:sequence>
+          <xsd:attribute name="loss-action" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="full-access" />
+                <xsd:enumeration value="limited-access" />
+                <xsd:enumeration value="no-access" />
+                <xsd:enumeration value="reconnect" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="resumption-action" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="none" />
+                <xsd:enumeration value="reinitialize" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="subscription-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "subscription-attributes" element configures how a region subscribes
+            to remote distributed regions.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="interest-policy" use="optional">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="all" />
+                <xsd:enumeration value="cache-content" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="cache-loader" type="gf:cache-loader-type" />
+      <xsd:element maxOccurs="1" minOccurs="0" name="cache-writer" type="gf:cache-writer-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="cache-listener">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "cache-listener" element describes a region's CacheListener.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="compressor">
+        <xsd:annotation>
+          <xsd:documentation>
+            A compressor registers a custom class which extends Compressor to support compression on a region.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="1" minOccurs="0" name="eviction-attributes">
+        <xsd:annotation>
+          <xsd:documentation>
+            Create eviction attributes that monitor and control the size of the Region.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:choice>
+            <xsd:element name="lru-entry-count">
+              <xsd:annotation>
+                <xsd:documentation>
+                  Create an LRU eviction controller which performs the action if the
+                  Region has more than the maximum number of Entries in the Region.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
+                <xsd:attribute name="maximum" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element name="lru-heap-percentage">
+              <xsd:annotation>
+                <xsd:documentation>
+                  Create an LRU which evicts entries using the specified action
+                  when the heap is over the resource manager critical heap/off-heap percentage.
+                  When the threshold has been exceeded each create or put operation
+                  is required to evict the same size of data which was added. The
+                  optional class-name and parameters allow for the declaration
+                  of an ObjectSizer, which will be used to determine data size.
+                  The class must implement the ObjectSizer interface.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence minOccurs="0">
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+
+            <xsd:element name="lru-memory-size">
+              <xsd:annotation>
+                <xsd:documentation>
+                  Create an LRU that performs the action when the memory size of the Region is
+                  over the maximum. The optional class-name and parameters allow for the
+                  declaration an ObjectSizer, which is used to measure the size of each Object
+                  in the Region. The class must implement the ObjectSizer interface.
+                </xsd:documentation>
+              </xsd:annotation>
+              <xsd:complexType>
+                <xsd:sequence minOccurs="0">
+                  <xsd:element name="class-name" type="gf:class-name-type" />
+                  <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+                </xsd:sequence>
+                <xsd:attribute name="action" type="gf:enum-action-destroy-overflow" use="optional" />
+                <xsd:attribute name="maximum" type="xsd:string" use="optional" />
+              </xsd:complexType>
+            </xsd:element>
+          </xsd:choice>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="concurrency-level" type="xsd:string" use="optional" />
+    <xsd:attribute name="data-policy" type="gf:region-attributesData-policy" use="optional" />
+    <xsd:attribute name="early-ack" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="enable-async-conflation" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="enable-gateway" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="enable-subscription-conflation" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="gateway-sender-ids" type="xsd:string" use="optional" />
+    <xsd:attribute name="async-event-queue-ids" type="xsd:string" use="optional" />
+    <xsd:attribute name="hub-id" type="xsd:string" use="optional" />
+    <xsd:attribute name="id" type="xsd:string" use="optional" />
+    <xsd:attribute name="ignore-jta" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="index-update-type" type="gf:region-attributesIndex-update-type" use="optional" />
+    <xsd:attribute name="initial-capacity" type="xsd:string" use="optional" />
+    <xsd:attribute name="is-lock-grantor" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="load-factor" type="xsd:string" use="optional" />
+    <xsd:attribute name="mirror-type" type="gf:region-attributesMirror-type" use="optional" />
+    <xsd:attribute name="multicast-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="persist-backup" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="pool-name" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-synchronous" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="hdfs-store-name" type="xsd:string" use="optional" />
+    <xsd:attribute name="hdfs-write-only" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="publisher" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="refid" type="xsd:string" use="optional" />
+    <xsd:attribute name="scope" type="gf:region-attributesScope" use="optional" />
+    <xsd:attribute name="statistics-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="cloning-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute default="true" name="concurrency-checks-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="off-heap" type="xsd:boolean" use="optional" />
+  </xsd:complexType>
+  <xsd:simpleType name="region-attributesData-policy">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="empty" />
+      <xsd:enumeration value="normal" />
+      <xsd:enumeration value="partition" />
+      <xsd:enumeration value="persistent-replicate" />
+      <xsd:enumeration value="preloaded" />
+      <xsd:enumeration value="replicate" />
+      <xsd:enumeration value="persistent-partition" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="region-attributesIndex-update-type">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="asynchronous" />
+      <xsd:enumeration value="synchronous" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="region-attributesMirror-type">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="keys" />
+      <xsd:enumeration value="keys-values" />
+      <xsd:enumeration value="none" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="region-attributesScope">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="distributed-ack" />
+      <xsd:enumeration value="distributed-no-ack" />
+      <xsd:enumeration value="global" />
+      <xsd:enumeration value="local" />
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="enum-readable-writable">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="readable" />
+      <xsd:enumeration value="writable" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!--
+-->
+    <!-- ======================================================= -->
+    <!-- ======================================================= -->
+
+  <xsd:complexType name="server-type">
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="group" type="xsd:string">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "group" element specifies a single server group.
+            Deprecated as of 7.0 use the groups Geode property instead.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="client-subscription">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "client-subscription" element describes the eviction policy, capacity and
+            overflow-directory for client subscription config. The overflow-directory attribute
+            is deprecated as of 6.5 use disk-store-name instead.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="eviction-policy" use="required">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="entry" />
+                <xsd:enumeration value="mem" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="capacity" type="xsd:string" use="required" />
+          <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+          <xsd:attribute name="overflow-directory" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="custom-load-probe">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "custom-load-probe" element describes a callback that reports the load on a cache-server.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="bind-address" type="xsd:string" use="optional" />
+    <xsd:attribute name="hostname-for-clients" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-connections" type="xsd:string" use="optional" />
+    <xsd:attribute name="maximum-message-count" type="xsd:string" use="optional" />
+    <xsd:attribute name="maximum-time-between-pings" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-threads" type="xsd:string" use="optional" />
+    <xsd:attribute name="message-time-to-live" type="xsd:string" use="optional" />
+    <xsd:attribute name="notify-by-subscription" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="port" type="xsd:string" use="optional" />
+    <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="load-poll-interval" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="resource-manager-type">
+    <xsd:annotation>
+      <xsd:appinfo>deprecated</xsd:appinfo>
+      <xsd:documentation>
+        The "resource manager" element configures the behavior of the resource manager.
+        The resource manager provides support for resource management of its associated Cache.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="critical-heap-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="eviction-heap-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="critical-off-heap-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="eviction-off-heap-percentage" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="function-service-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        The "function service" element configures the behavior of the function service.
+        The function service allows users to execute functions on data stored in Geode.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="function">
+        <xsd:annotation>
+          <xsd:documentation>
+            The "function" element defines a function for registration in the function service.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="cache-loader-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "cache-loader" element describes a region's CacheLoader.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="cache-transaction-manager-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "cache-transaction-manager" element allows insertion of cache-level transaction listeners.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="transaction-listener">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "transaction-listener" describes a TransactionListener.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="1" minOccurs="0" name="transaction-writer">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "transaction-writer" describes a TransactionWriter.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="cache-writer-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "cache-writer" element describes a region's CacheWriter.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="serialization-registration-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A serialization-registration contains a set of serializer or instantiator tags to
+        register customer DataSerializer extensions or DataSerializable implementations respectively.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="serializer">
+        <xsd:annotation>
+          <xsd:documentation>
+            A serializer registers a custom class which extends DataSerializer to support custom
+            serialization of non-modifiable object types inside Geode. The class must have a
+            public zero-arg constructor.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="instantiator">
+        <xsd:annotation>
+          <xsd:documentation>
+            An instantiator registers a custom class which implements the DataSerializable interface
+            to support custom object serialization inside Geode. The class must have a public
+            zero-arg constructor.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+          </xsd:sequence>
+          <xsd:attribute name="id" type="xsd:string" use="required">
+            <xsd:annotation>
+              <xsd:documentation>
+                The id that the instantiator should associate with the DataSerializable type.
+              </xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:simpleType name="class-name-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "class-name" element specifies the name of a class, an instance of which is created
+        when a declarative cache XML file is read.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="disk-store-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "disk-store" element specifies a DiskStore for persistence.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dirs" type="gf:disk-dirs-type" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="auto-compact" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="compaction-threshold" type="xsd:string" use="optional" />
+    <xsd:attribute name="allow-force-compaction" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="max-oplog-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="time-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="write-buffer-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="queue-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-usage-warning-percentage" type="xsd:string" use="optional" />
+    <xsd:attribute name="disk-usage-critical-percentage" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType mixed="true" name="hdfs-store-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "hdfs-store" element specifies a HdfsStore for persistence.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="namenode-url" type="xsd:string" use="optional" />
+    <xsd:attribute name="home-dir" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-memory" type="xsd:string" use="optional" />
+    <xsd:attribute name="read-cache-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="batch-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="batch-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="dispatcher-threads" type="xsd:string" use="optional" />
+    <xsd:attribute name="buffer-persistent" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="disk-store" type="xsd:string" use="optional" />
+    <xsd:attribute name="synchronous-disk-write" type="xsd:string" use="optional" />
+    <xsd:attribute name="hdfs-client-config-file" type="xsd:string" use="optional" />
+    <xsd:attribute name="purge-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="major-compaction" type="xsd:string" use="optional" />
+    <xsd:attribute name="major-compaction-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="major-compaction-threads" type="xsd:integer" use="optional" />
+    <xsd:attribute name="minor-compaction" type="xsd:string" use="optional" />
+    <xsd:attribute name="minor-compaction-threads" type="xsd:integer" use="optional" />
+    <xsd:attribute name="max-write-only-file-size" type="xsd:integer" use="optional" />
+    <xsd:attribute name="write-only-file-rollover-interval" type="xsd:string" use="optional" />    
+  </xsd:complexType>
+
+  <xsd:complexType name="pdx-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "pdx" element specifies the configuration for the portable data exchange (PDX) method of
+        serialization. The "read-serialized" attribute is "early access".
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="pdx-serializer">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "pdx-serializer" element describes a serializer used to serialize objects in the
+            portable data exchange format.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+
+    </xsd:sequence>
+    <xsd:attribute name="read-serialized" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="ignore-unread-fields" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="persistent" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="disk-store-name" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="pool-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "pool" element specifies a client to server connection pool.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element maxOccurs="unbounded" minOccurs="1" name="locator">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "locator" element specifies the host and port that a server locator is listening on
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="host" type="xsd:string" use="required" />
+          <xsd:attribute name="port" type="xsd:string" use="required" />
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element maxOccurs="unbounded" minOccurs="1" name="server">
+        <xsd:annotation>
+          <xsd:documentation>
+            A "server" element specifies the host and port that a cache server is listening on
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:attribute name="host" type="xsd:string" use="required" />
+          <xsd:attribute name="port" type="xsd:string" use="required" />
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:choice>
+    <xsd:attribute name="free-connection-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="load-conditioning-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="min-connections" type="xsd:string" use="optional" />
+    <xsd:attribute name="max-connections" type="xsd:string" use="optional" />
+    <xsd:attribute name="retry-attempts" type="xsd:string" use="optional" />
+    <xsd:attribute name="idle-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="ping-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="read-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="server-group" type="xsd:string" use="optional" />
+    <xsd:attribute name="socket-buffer-size" type="xsd:string" use="optional" />
+    <xsd:attribute name="subscription-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="subscription-message-tracking-timeout" type="xsd:string" use="optional" />
+    <xsd:attribute name="subscription-ack-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="subscription-redundancy" type="xsd:string" use="optional" />
+    <xsd:attribute name="statistic-interval" type="xsd:string" use="optional" />
+    <xsd:attribute name="thread-local-connections" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="pr-single-hop-enabled" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="multiuser-authentication" type="xsd:boolean" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="declarable-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "declarable" element specifies a Declarable object to be placed in a Region entry.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="disk-dir-type" mixed="true">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "disk-dir" element specifies one of a region or diskstore's disk directories.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="dir-size" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="disk-dirs-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "disk-dirs" element specifies the region's disk directories.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="1" name="disk-dir" type="gf:disk-dir-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+  <xsd:complexType name="dynamic-region-factory-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "dynamic-region-factory" element configures a dynamic region factory for
+        this cache. If this optional element is missing then the cache does not
+        support dynamic regions.
+
+        The optional "disk-dir" sub-element can be used to specify the directory to
+        store the persistent files that are used for dynamic region bookkeeping.
+        It defaults to the current directory.
+
+        The pool-name attribute can be used to set the name of the connection pool used
+        by client applications in a client/server cache configuration. It should not be
+        specified in servers or peers.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="disk-dir" type="gf:disk-dir-type" />
+    </xsd:sequence>
+    <xsd:attribute name="disable-persist-backup" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="disable-register-interest" type="xsd:boolean" use="optional" />
+    <xsd:attribute name="pool-name" type="xsd:string" use="optional" />
+  </xsd:complexType>
+
+  <xsd:complexType name="expiration-attributes-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        An "expiration-attributes" element describes expiration.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="1" minOccurs="0" name="custom-expiry">
+        <xsd:annotation>
+          <xsd:documentation>
+            The "custom-expiry" element specifies a callback that specifies
+            custom expiration attributes. See the CustomExpiry class.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="class-name" type="gf:class-name-type" />
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+
+    <xsd:attribute name="action" use="optional">
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="destroy" />
+          <xsd:enumeration value="invalidate" />
+          <xsd:enumeration value="local-destroy" />
+          <xsd:enumeration value="local-invalidate" />
+        </xsd:restriction>
+      </xsd:simpleType>
+    </xsd:attribute>
+    <xsd:attribute name="timeout" type="xsd:string" use="required" />
+  </xsd:complexType>
+
+  <xsd:complexType name="initializer-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "initializer" element specifies a Declarable object whose init method
+        will be called after all other cache.xml initialization is
+        complete.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="class-with-parameters-type">
+    <xsd:sequence>
+      <xsd:element name="class-name" type="gf:class-name-type" />
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="parameter" type="gf:parameter-type" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="jndi-bindings-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A jndi-bindings element will contain the jndi-binding for each of the
+        datasources which are to be bound with the JNDI Context.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element maxOccurs="unbounded" minOccurs="0" name="jndi-binding">
+        <xsd:annotation>
+          <xsd:documentation>
+            For every datasource which is bound to the JNDI tree, there will exist one
+            jndi-binding tag. This tag will describe the property and configuration of the
+            datasource. The attributes of jndi-binding are used for configuration by
+            Geode, while the property element is used to configure the custom property
+            for the datasource.
+
+            The "xa-datasource-class" must be set when type is XAPooledDataSource,
+            "conn-pooled-datasource-class" must be set when type is PooledDataSource,
+            and "jdbc-driver-class" msut be set when the type is SimpleDataSource. It is
+            advisable to set the user-name and password as attributes rather than as a
+            property element. Alternatively, they may both be set as attributes of the
+            jndi-binding tag as well as an attribute of the property tag.
+          </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element maxOccurs="unbounded" minOccurs="0" name="config-property">
+              <xsd:complexType>
+                <xsd:sequence>
+                  <xsd:element name="config-property-name" type="xsd:string" />
+                  <xsd:element name="config-property-type" type="xsd:string" />
+                  <xsd:element name="config-property-value" type="xsd:string" />
+                </xsd:sequence>
+              </xsd:complexType>
+            </xsd:element>
+
+          </xsd:sequence>
+          <xsd:attribute name="blocking-timeout-seconds" type="xsd:string" use="optional" />
+          <xsd:attribute name="conn-pooled-datasource-class" type="xsd:string" use="optional" />
+          <xsd:attribute name="connection-url" type="xsd:string" use="optional" />
+          <xsd:attribute name="idle-timeout-seconds" type="xsd:string" use="optional" />
+          <xsd:attribute name="init-pool-size" type="xsd:string" use="optional" />
+          <xsd:attribute name="jdbc-driver-class" type="xsd:string" use="optional" />
+          <xsd:attribute name="jndi-name" type="xsd:string" use="required" />
+          <xsd:attribute name="login-timeout-seconds" type="xsd:string" use="optional" />
+          <xsd:attribute name="managed-conn-factory-class" type="xsd:string" use="optional" />
+          <xsd:attribute name="max-pool-size" type="xsd:string" use="optional" />
+          <xsd:attribute name="password" type="xsd:string" use="optional" />
+          <xsd:attribute name="transaction-type" type="xsd:string" use="optional" />
+          <xsd:attribute name="type" use="required">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="ManagedDataSource" />
+                <xsd:enumeration value="SimpleDataSource" />
+                <xsd:enumeration value="PooledDataSource" />
+                <xsd:enumeration value="XAPooledDataSource" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="user-name" type="xsd:string" use="optional" />
+          <xsd:attribute name="xa-datasource-class" type="xsd:string" use="optional" />
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:simpleType name="enum-action-destroy-overflow">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="local-destroy" />
+      <xsd:enumeration value="overflow-to-disk" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="parameter-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "parameter" element describes a parameter used to initialize a Declarable object.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element name="string" type="gf:string-type" />
+      <xsd:element name="declarable" type="gf:declarable-type" />
+    </xsd:choice>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+  </xsd:complexType>
+
+  <xsd:complexType name="string-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        A "string" element specifies a String to be placed in a Region entry.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:string"></xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:simpleType name="versionType">
+    <xsd:annotation>
+      <xsd:documentation>
+        Decimal version type.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+<!-- TODO -->
+    <!-- Will put refid later.....refid   IDREF #IMPLIED -->
+
+</xsd:schema>