diff --git a/xsds/cpp-cache-1.10-DRAFT.xsd b/xsds/cpp-cache-1.10-DRAFT.xsd
new file mode 100644
index 0000000..38b57d9
--- /dev/null
+++ b/xsds/cpp-cache-1.10-DRAFT.xsd
@@ -0,0 +1,235 @@
+<?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/cpp-cache"
+    xmlns:nc="http://geode.apache.org/schema/cpp-cache"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified"
+    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:
+
+  <client-cache
+      xmlns="http://geode.apache.org/schema/cpp-cache"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://geode.apache.org/schema/cpp-cache
+                          http://geode.apache.org/schema/cpp-cache/cpp-cache-1.10.xsd"
+      version="1.10">
+
+The contents of a declarative XML file correspond to APIs found in the
+org.apache.geode.cache and org.apache.geode.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 "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="client-cache">
+    <xsd:complexType>
+      <xsd:choice minOccurs="0" maxOccurs="unbounded">
+        <xsd:element minOccurs="0" maxOccurs="unbounded" name="pool">
+          <xsd:complexType>
+            <xsd:choice>
+              <xsd:element maxOccurs="unbounded" name="locator" type="nc:host-port-type" />
+              <xsd:element maxOccurs="unbounded" name="server" type="nc:host-port-type" />
+            </xsd:choice>
+            <xsd:attribute name="name" type="xsd:string" use="required" />
+            <xsd:attribute name="free-connection-timeout" type="nc:duration-type" />
+            <xsd:attribute name="load-conditioning-interval" type="nc:duration-type" />
+            <xsd:attribute name="min-connections" type="xsd:string" />
+            <xsd:attribute name="max-connections" type="xsd:string" />
+            <xsd:attribute name="retry-attempts" type="xsd:string" />
+            <xsd:attribute name="idle-timeout" type="nc:duration-type" />
+            <xsd:attribute name="ping-interval" type="nc:duration-type" />
+            <xsd:attribute name="read-timeout" type="nc:duration-type" />
+            <xsd:attribute name="server-group" type="xsd:string" />
+            <xsd:attribute name="socket-buffer-size" type="xsd:string" />
+            <xsd:attribute name="subscription-enabled" type="xsd:boolean" />
+            <xsd:attribute name="subscription-message-tracking-timeout" type="nc:duration-type" />
+            <xsd:attribute name="subscription-ack-interval" type="nc:duration-type" />
+            <xsd:attribute name="subscription-redundancy" type="xsd:string" />
+            <xsd:attribute name="statistic-interval" type="nc:duration-type" />
+            <xsd:attribute name="pr-single-hop-enabled" type="xsd:boolean" />
+            <xsd:attribute name="thread-local-connections" type="xsd:boolean" />
+            <xsd:attribute name="multiuser-authentication" type="xsd:boolean" />
+            <xsd:attribute name="update-locator-list-interval" type="nc:duration-type" />
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element minOccurs="0" maxOccurs="unbounded" name="region" type="nc:region-type" />
+        <xsd:element minOccurs="0" name="pdx">
+          <xsd:complexType>
+            <xsd:attribute name="ignore-unread-fields" type="xsd:boolean" />
+            <xsd:attribute name="read-serialized" type="xsd:boolean" />
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:choice>
+      <xsd:attribute name="version" type="nc:version-type" use="required" fixed="1.10" />
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:complexType name="region-type">
+    <xsd:sequence>
+      <xsd:element minOccurs="0" name="region-attributes" type="nc:region-attributes-type" />
+      <xsd:element minOccurs="0" maxOccurs="unbounded" name="region" type="nc:region-type" />
+    </xsd:sequence>
+    <xsd:attribute name="name" type="xsd:string" use="required" />
+    <xsd:attribute name="refid" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="region-attributes-type">
+    <xsd:sequence>
+      <xsd:choice minOccurs="0" maxOccurs="unbounded">
+        <xsd:element name="region-time-to-live" type="nc:expiration-type" />
+        <xsd:element name="region-idle-time" type="nc:expiration-type" />
+        <xsd:element name="entry-time-to-live" type="nc:expiration-type" />
+        <xsd:element name="entry-idle-time" type="nc:expiration-type" />
+        <xsd:element name="partition-resolver" type="nc:library-type" />
+        <xsd:element name="cache-loader" type="nc:library-type" />
+        <xsd:element name="cache-listener" type="nc:library-type" />
+        <xsd:element name="cache-writer" type="nc:library-type" />
+        <xsd:element name="persistence-manager">
+          <xsd:complexType>
+            <xsd:complexContent>
+              <xsd:extension base="nc:library-type">
+                <xsd:sequence>
+                  <xsd:element name="properties">
+                    <xsd:complexType>
+                      <xsd:sequence>
+                        <xsd:element minOccurs="0" maxOccurs="unbounded" name="property">
+                          <xsd:complexType>
+                            <xsd:attribute name="name" type="xsd:string" use="required" />
+                            <xsd:attribute name="value" type="xsd:string" use="required" />
+                          </xsd:complexType>
+                        </xsd:element>
+                      </xsd:sequence>
+                    </xsd:complexType>
+                  </xsd:element>
+                </xsd:sequence>
+              </xsd:extension>
+            </xsd:complexContent>
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="caching-enabled" type="xsd:boolean" />
+    <xsd:attribute name="cloning-enabled" type="xsd:boolean" />
+    <xsd:attribute name="scope">
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:NMTOKEN">
+          <xsd:enumeration value="local" />
+          <xsd:enumeration value="distributed-no-ack" />
+          <xsd:enumeration value="distributed-ack" />
+        </xsd:restriction>
+      </xsd:simpleType>
+    </xsd:attribute>
+    <xsd:attribute name="initial-capacity" type="xsd:string" />
+    <xsd:attribute name="load-factor" type="xsd:string" />
+    <xsd:attribute name="concurrency-level" type="xsd:string" />
+    <xsd:attribute name="lru-entries-limit" type="xsd:string" />
+    <xsd:attribute name="disk-policy">
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:NMTOKEN">
+          <xsd:enumeration value="none" />
+          <xsd:enumeration value="overflows" />
+          <xsd:enumeration value="persist" />
+        </xsd:restriction>
+      </xsd:simpleType>
+    </xsd:attribute>
+    <xsd:attribute name="endpoints" type="xsd:string" />
+    <xsd:attribute name="client-notification" type="xsd:boolean" />
+    <xsd:attribute name="pool-name" type="xsd:string" />
+    <xsd:attribute name="concurrency-checks-enabled" type="xsd:boolean" />
+    <xsd:attribute name="id" type="xsd:string" />
+    <xsd:attribute name="refid" type="xsd:string" />
+  </xsd:complexType>
+
+  <xsd:complexType name="expiration-type">
+    <xsd:sequence>
+      <xsd:element name="expiration-attributes">
+        <xsd:complexType>
+          <xsd:attribute name="timeout" type="nc:duration-type" use="required" />
+          <xsd:attribute name="action">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:NMTOKEN">
+                <xsd:enumeration value="invalidate" />
+                <xsd:enumeration value="destroy" />
+                <xsd:enumeration value="local-invalidate" />
+                <xsd:enumeration value="local-destroy" />
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="host-port-type">
+    <xsd:attribute name="host" type="xsd:string" use="required" />
+    <xsd:attribute name="port" type="nc:port-type" use="required" />
+  </xsd:complexType>
+
+  <xsd:simpleType name="port-type">
+    <xsd:restriction base="xsd:int">
+      <xsd:minInclusive value="0" />
+      <xsd:maxInclusive value="65535" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="version-type">
+    <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>
+
+  <xsd:simpleType name="duration-type">
+    <xsd:annotation>
+      <xsd:documentation>
+        Time duration in positive integer and unit.
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:pattern value="\d+(h|min|s|ms|us|ns)" />
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="library-type">
+    <xsd:attribute name="library-name" type="xsd:string" />
+    <xsd:attribute name="library-function-name" type="xsd:string" use="required" />
+  </xsd:complexType>
+
+</xsd:schema>
