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