]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/3dparty_src/spring/schema/spring-cache-3.1.xsd
Salome HOME
*** empty log message ***
[tools/siman.git] / Workspace / 3dparty_src / spring / schema / spring-cache-3.1.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
3 <xsd:schema xmlns="http://www.springframework.org/schema/cache"
4                 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5                 xmlns:beans="http://www.springframework.org/schema/beans"
6                 xmlns:tool="http://www.springframework.org/schema/tool"
7                 targetNamespace="http://www.springframework.org/schema/cache"
8                 elementFormDefault="qualified"
9                 attributeFormDefault="unqualified">
10
11         <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"/>
12         <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.1.xsd"/>
13
14         <xsd:annotation>
15                 <xsd:documentation><![CDATA[
16         Defines the elements used in the Spring Framework's declarative
17         cache management infrastructure.
18                 ]]></xsd:documentation>
19         </xsd:annotation>
20
21         <xsd:element name="annotation-driven">
22                 <xsd:complexType>
23                         <xsd:annotation>
24                                 <xsd:documentation source="java:org.springframework.cache.annotation.AnnotationCacheOperationDefinitionSource"><![CDATA[
25         Indicates that cache configuration is defined by Java 5
26         annotations on bean classes, and that proxies are automatically
27         to be created for the relevant annotated beans.
28
29         The default annotations supported are Spring's @Cacheable and @CacheEvict.
30
31         See org.springframework.cache.annotation.EnableCaching Javadoc
32         for information on code-based alternatives to this XML element.
33                                 ]]></xsd:documentation>
34                         </xsd:annotation>
35                         <xsd:attribute name="cache-manager" type="xsd:string" default="cacheManager">
36                                 <xsd:annotation>
37                                         <xsd:documentation source="java:org.springframework.cache.CacheManager"><![CDATA[
38         The bean name of the CacheManager that is to be used to retrieve the backing caches.
39         
40         This attribute is not required, and only needs to be specified
41         explicitly if the bean name of the desired CacheManager
42         is not 'cacheManager'.
43                                         ]]></xsd:documentation>
44                                         <xsd:appinfo>
45                                                 <tool:annotation kind="ref">
46                                                         <tool:expected-type type="org.springframework.cache.CacheManager"/>
47                                                 </tool:annotation>
48                                         </xsd:appinfo>
49                                 </xsd:annotation>
50                         </xsd:attribute>
51                         <xsd:attribute name="key-generator" type="xsd:string">
52                                 <xsd:annotation>
53                                         <xsd:documentation source="java:org.springframework.cache.interceptor.KeyGenerator"><![CDATA[
54         The bean name of the KeyGenerator that is to be used to retrieve the backing caches.
55         
56         This attribute is not required, and only needs to be specified
57         explicitly if the default strategy (DefaultKeyGenerator) is not sufficient.
58                                         ]]></xsd:documentation>
59                                         <xsd:appinfo>
60                                                 <tool:annotation kind="ref">
61                                                         <tool:expected-type type="org.springframework.cache.interceptor.KeyGenerator"/>
62                                                 </tool:annotation>
63                                         </xsd:appinfo>
64                                 </xsd:annotation>
65                         </xsd:attribute>
66                         <xsd:attribute name="mode" default="proxy">
67                                 <xsd:annotation>
68                                         <xsd:documentation><![CDATA[
69         Should annotated beans be proxied using Spring's AOP framework,
70         or should they rather be weaved with an AspectJ transaction aspect?
71
72         AspectJ weaving requires spring-aspects.jar on the classpath,
73         as well as load-time weaving (or compile-time weaving) enabled.
74
75         Note: The weaving-based aspect requires the @Cacheable and @CacheInvalidate
76         annotations to be defined on the concrete class. Annotations in interfaces
77         will not work in that case (they will rather only work with interface-based proxies)!
78                                         ]]></xsd:documentation>
79                                 </xsd:annotation>
80                                 <xsd:simpleType>
81                                         <xsd:restriction base="xsd:string">
82                                                 <xsd:enumeration value="proxy"/>
83                                                 <xsd:enumeration value="aspectj"/>
84                                         </xsd:restriction>
85                                 </xsd:simpleType>
86                         </xsd:attribute>
87                         <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
88                                 <xsd:annotation>
89                                         <xsd:documentation><![CDATA[
90         Are class-based (CGLIB) proxies to be created? By default, standard
91         Java interface-based proxies are created.
92
93         Note: Class-based proxies require the @Cacheable and @CacheInvalidate annotations
94         to be defined on the concrete class. Annotations in interfaces will not work
95         in that case (they will rather only work with interface-based proxies)!
96                                         ]]></xsd:documentation>
97                                 </xsd:annotation>
98                         </xsd:attribute>
99                         <xsd:attribute name="order" type="xsd:int">
100                                 <xsd:annotation>
101                                         <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
102         Controls the ordering of the execution of the cache advisor
103         when multiple advice executes at a specific joinpoint.
104                                         ]]></xsd:documentation>
105                                 </xsd:annotation>
106                         </xsd:attribute>
107                 </xsd:complexType>
108         </xsd:element>
109
110         <xsd:element name="advice">
111                 <xsd:complexType>
112                         <xsd:annotation>
113                                 <xsd:documentation source="java:org.springframework.cache.interceptor.CacheInterceptor"><![CDATA[
114         Defines the cache semantics of the AOP advice that is to be
115         executed.
116
117         That is, this advice element is where the cacheable semantics of
118         any     number of methods are defined (where cacheable semantics
119         includes the backing cache(s), the key, cache condition rules, and suchlike).
120                                 ]]></xsd:documentation>
121                                 <xsd:appinfo>
122                                         <tool:annotation>
123                                                 <tool:exports type="java:org.springframework.cache.interceptor.CacheInterceptor"/>
124                                         </tool:annotation>
125                                 </xsd:appinfo>
126                         </xsd:annotation>
127                         <xsd:complexContent>
128                                 <xsd:extension base="beans:identifiedType">
129                                         <xsd:sequence>
130                                                 <xsd:element name="caching" type="definitionsType" minOccurs="0" maxOccurs="unbounded"/>
131                                         </xsd:sequence>
132                                         <xsd:attribute name="cache-manager" type="xsd:string" default="cacheManager">
133                                                 <xsd:annotation>
134                                                         <xsd:documentation source="java:org.springframework.cache.CacheManager"><![CDATA[
135         The bean name of the CacheManager that is to be used
136         for storing and retrieving data.
137
138         This attribute is not required, and only needs to be specified
139         explicitly if the bean name of the desired CacheManager
140         is not 'cacheManager'.
141                                                         ]]></xsd:documentation>
142                                                         <xsd:appinfo>
143                                                                 <tool:annotation kind="ref">
144                                                                         <tool:expected-type type="org.springframework.cache.CacheManager"/>
145                                                                 </tool:annotation>
146                                                         </xsd:appinfo>
147                                                 </xsd:annotation>
148                                         </xsd:attribute>
149                                         <xsd:attribute name="key-generator" type="xsd:string">
150                                                 <xsd:annotation>
151                                                         <xsd:documentation source="java:org.springframework.cache.interceptor.KeyGenerator"><![CDATA[
152         The bean name of the KeyGenerator that is to be used to retrieve the backing caches.
153         
154         This attribute is not required, and only needs to be specified
155         explicitly if the default strategy (DefaultKeyGenerator) is not sufficient.
156                                                         ]]></xsd:documentation>
157                                                         <xsd:appinfo>
158                                                                 <tool:annotation kind="ref">
159                                                                         <tool:expected-type type="org.springframework.cache.interceptor.KeyGenerator"/>
160                                                                 </tool:annotation>
161                                                         </xsd:appinfo>
162                                                 </xsd:annotation>
163                                         </xsd:attribute>                                        
164                                 </xsd:extension>
165                         </xsd:complexContent>
166                 </xsd:complexType>
167         </xsd:element>
168
169         <xsd:complexType name="basedefinitionType">
170                 <xsd:attribute name="cache" type="xsd:string" use="optional">
171                         <xsd:annotation>
172                                 <xsd:documentation><![CDATA[
173         The name of the backing cache(s). Multiple caches can be specified by separating them using comma: 'orders, books']]></xsd:documentation>
174                         </xsd:annotation>
175                 </xsd:attribute>
176                 <xsd:attribute name="key" type="xsd:string" use="optional">
177                         <xsd:annotation>
178                                 <xsd:documentation><![CDATA[
179         The SpEL expression used for computing the cache key.]]></xsd:documentation>
180                         </xsd:annotation>
181                 </xsd:attribute>
182                 <xsd:attribute name="condition" type="xsd:string" use="optional">
183                         <xsd:annotation>
184                                 <xsd:documentation><![CDATA[
185         The SpEL expression used for conditioning the method caching.]]></xsd:documentation>
186                         </xsd:annotation>
187                 </xsd:attribute>
188                 <xsd:attribute name="method" type="xsd:string" use="optional">
189                         <xsd:annotation>
190                                 <xsd:documentation><![CDATA[
191         The method name(s) with which the cache attributes are to be
192         associated. The wildcard (*) character can be used to associate the
193         same cache attribute settings with a number of methods; for
194         example, 'get*', 'handle*', '*Order', 'on*Event', etc.]]></xsd:documentation>
195                         </xsd:annotation>
196                 </xsd:attribute>
197                 
198         </xsd:complexType>
199         
200         <xsd:complexType name="definitionsType">
201                 <xsd:complexContent>
202                         <xsd:extension base="basedefinitionType">
203                                 <xsd:sequence>
204                                   <xsd:choice minOccurs="0" maxOccurs="unbounded">
205                                         <xsd:element name="cacheable" minOccurs="0" maxOccurs="unbounded" type="basedefinitionType"/>
206                                         <xsd:element name="cache-put" minOccurs="0" maxOccurs="unbounded" type="basedefinitionType"/>                                   
207                                         <xsd:element name="cache-evict" minOccurs="0" maxOccurs="unbounded">
208                                                 <xsd:complexType>
209                                                         <xsd:complexContent>
210                                                                 <xsd:extension base="basedefinitionType">
211                                                                         <xsd:attribute name="all-entries" type="xsd:boolean" use="optional">
212                                                                                 <xsd:annotation>
213                                                                                         <xsd:documentation><![CDATA[
214         Whether all the entries should be evicted.]]></xsd:documentation>
215                                                                                 </xsd:annotation>
216                                                                         </xsd:attribute>
217                                                                         <xsd:attribute name="before-invocation" type="xsd:boolean" use="optional">
218                                                                                 <xsd:annotation>
219                                                                                         <xsd:documentation><![CDATA[
220         Whether the eviction should occur after the method is successfully 
221         invoked (default) or before.]]></xsd:documentation>
222                                                                                 </xsd:annotation>
223                                                                         </xsd:attribute>
224                                                                         
225                                                                 </xsd:extension>
226                                                         </xsd:complexContent>
227                                                 </xsd:complexType>
228                                         </xsd:element>
229                                   </xsd:choice>                 
230                                 </xsd:sequence>
231                         </xsd:extension>
232                 </xsd:complexContent>
233         </xsd:complexType>
234
235 </xsd:schema>