]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/3dparty_src/spring/schema/spring-aop-2.5.xsd
Salome HOME
e6ba181ba4fddbae4a3c886e92b0551dd957c8c1
[tools/siman.git] / Workspace / 3dparty_src / spring / schema / spring-aop-2.5.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
3 <xsd:schema xmlns="http://www.springframework.org/schema/aop"
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/aop"
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-2.5.xsd"/>
12         <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-2.5.xsd"/>
13
14         <xsd:annotation>
15                 <xsd:documentation><![CDATA[
16         Defines the configuration elements for the Spring Framework's AOP support.
17                 ]]></xsd:documentation>
18         </xsd:annotation>
19
20         <xsd:element name="config">
21                 <xsd:annotation>
22                         <xsd:documentation><![CDATA[
23         A section (compartmentalization) of AOP-specific configuration (including
24         aspects, pointcuts, etc).
25                         ]]></xsd:documentation>
26                 </xsd:annotation>
27                 <xsd:complexType>
28                         <xsd:sequence>
29                                 <xsd:element name="pointcut" type="pointcutType" minOccurs="0" maxOccurs="unbounded">
30                                         <xsd:annotation>
31                                                 <xsd:documentation><![CDATA[
32         A named pointcut definition.
33                                                 ]]></xsd:documentation>
34                                         </xsd:annotation>
35                                 </xsd:element>
36                                 <xsd:element name="advisor" type="advisorType" minOccurs="0" maxOccurs="unbounded">
37                                         <xsd:annotation>
38                                                 <xsd:documentation source="java:org.springframework.aop.Advisor"><![CDATA[
39         A named advisor definition.
40                                                 ]]></xsd:documentation>
41                                         </xsd:annotation>
42                                 </xsd:element>
43                                 <xsd:element name="aspect" type="aspectType" minOccurs="0" maxOccurs="unbounded">
44                                         <xsd:annotation>
45                                                 <xsd:documentation><![CDATA[
46         A named aspect definition.
47                                                 ]]></xsd:documentation>
48                                         </xsd:annotation>
49                                 </xsd:element>
50                         </xsd:sequence>
51                         <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
52                                 <xsd:annotation>
53                                         <xsd:documentation><![CDATA[
54         Are class-based (CGLIB) proxies to be created? By default, standard
55         Java interface-based proxies are created.
56                                         ]]></xsd:documentation>
57                                 </xsd:annotation>
58                         </xsd:attribute>
59                 </xsd:complexType>
60         </xsd:element>
61
62         <xsd:element name="aspectj-autoproxy">
63                 <xsd:annotation>
64                         <xsd:documentation source="java:org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"><![CDATA[
65         Enables the use of the @AspectJ style of Spring AOP.
66                         ]]></xsd:documentation>
67                 </xsd:annotation>
68                 <xsd:complexType>
69                         <xsd:sequence>
70                                 <xsd:element name="include" type="includeType" minOccurs="0" maxOccurs="unbounded">
71                                         <xsd:annotation>
72                                                 <xsd:documentation><![CDATA[
73         Indicates that only @AspectJ beans with names matched by the (regex)
74         pattern will be considered as defining aspects to use for Spring autoproxying.
75                                                 ]]></xsd:documentation>
76                                         </xsd:annotation>
77                                 </xsd:element>
78                         </xsd:sequence>
79                         <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
80                                 <xsd:annotation>
81                                         <xsd:documentation><![CDATA[
82         Are class-based (CGLIB) proxies to be created? By default, standard
83         Java interface-based proxies are created.
84                                         ]]></xsd:documentation>
85                                 </xsd:annotation>
86                         </xsd:attribute>
87                 </xsd:complexType>
88         </xsd:element>
89
90         <xsd:element name="scoped-proxy">
91                 <xsd:complexType>
92                         <xsd:annotation>
93                                 <xsd:documentation source="java:org.springframework.aop.scope.ScopedProxyFactoryBean"><![CDATA[
94         Marks a bean definition as being a scoped proxy.
95
96         A bean marked as such will be exposed via a proxy, with the 'real'
97         bean instance being retrieved from some other source (such as a
98         HttpSession) as and when required.
99                                 ]]></xsd:documentation>
100                         </xsd:annotation>
101                         <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="true">
102                                 <xsd:annotation>
103                                         <xsd:documentation><![CDATA[
104         Are class-based (CGLIB) proxies to be created? This is the default; in order to
105         switch to standard Java interface-based proxies, turn this flag to "false".
106                                         ]]></xsd:documentation>
107                                 </xsd:annotation>
108                         </xsd:attribute>
109                 </xsd:complexType>
110         </xsd:element>
111
112         <xsd:complexType name="aspectType">
113                 <xsd:choice minOccurs="0" maxOccurs="unbounded">
114                         <xsd:element name="pointcut" type="pointcutType">
115                                 <xsd:annotation>
116                                         <xsd:documentation><![CDATA[
117         A named pointcut definition.
118                                         ]]></xsd:documentation>
119                                 </xsd:annotation>
120                         </xsd:element>
121                         <xsd:element name="declare-parents" type="declareParentsType">
122                                 <xsd:annotation>
123                                         <xsd:documentation><![CDATA[
124         Allows this aspect to introduce additional interfaces that the advised
125         object will transparently implement.
126                                         ]]></xsd:documentation>
127                                 </xsd:annotation>
128                         </xsd:element>
129                         <xsd:element name="before" type="basicAdviceType">
130                                 <xsd:annotation>
131                                         <xsd:documentation><![CDATA[
132         A before advice definition.
133                                         ]]></xsd:documentation>
134                                 </xsd:annotation>
135                         </xsd:element>
136                         <xsd:element name="after" type="basicAdviceType">
137                                 <xsd:annotation>
138                                         <xsd:documentation><![CDATA[
139         An after advice definition.
140                                         ]]></xsd:documentation>
141                                 </xsd:annotation>
142                         </xsd:element>
143                         <xsd:element name="after-returning" type="afterReturningAdviceType">
144                                 <xsd:annotation>
145                                         <xsd:documentation><![CDATA[
146         An after-returning advice definition.
147                                         ]]></xsd:documentation>
148                                 </xsd:annotation>
149                         </xsd:element>
150                         <xsd:element name="after-throwing" type="afterThrowingAdviceType">
151                                 <xsd:annotation>
152                                         <xsd:documentation><![CDATA[
153         An after-throwing advice definition.
154                                         ]]></xsd:documentation>
155                                 </xsd:annotation>
156                         </xsd:element>
157                         <xsd:element name="around" type="basicAdviceType">
158                                 <xsd:annotation>
159                                         <xsd:documentation><![CDATA[
160         An around advice definition.
161                                         ]]></xsd:documentation>
162                                 </xsd:annotation>
163                         </xsd:element>
164                 </xsd:choice>
165                 <xsd:attribute name="id" type="xsd:ID">
166                         <xsd:annotation>
167                                 <xsd:documentation><![CDATA[
168         The unique identifier for an aspect.
169                                 ]]></xsd:documentation>
170                         </xsd:annotation>
171                 </xsd:attribute>
172                 <xsd:attribute name="ref" type="xsd:string">
173                         <xsd:annotation>
174                                 <xsd:documentation><![CDATA[
175         The name of the (backing) bean that encapsulates the aspect.
176                                 ]]></xsd:documentation>
177                         </xsd:annotation>
178                 </xsd:attribute>
179                 <xsd:attribute name="order" type="xsd:int">
180                         <xsd:annotation>
181                                 <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
182         Controls the ordering of the execution of this aspect when multiple
183         advice executes at a specific joinpoint.
184                                 ]]></xsd:documentation>
185                         </xsd:annotation>
186                 </xsd:attribute>
187         </xsd:complexType>
188
189         <xsd:complexType name="includeType">
190                 <xsd:attribute name="name" type="xsd:string">
191                         <xsd:annotation>
192                                 <xsd:documentation source="java:java.util.regex.Pattern"><![CDATA[
193         The regular expression defining which beans are to be included in the
194         list of @AspectJ beans; beans with names matched by the pattern will
195         be included.
196                                 ]]></xsd:documentation>
197                         </xsd:annotation>
198                 </xsd:attribute>
199         </xsd:complexType>
200
201         <xsd:complexType name="pointcutType">
202                 <xsd:annotation>
203                         <xsd:appinfo>
204                                 <tool:annotation>
205                                         <tool:exports type="org.springframework.aop.Pointcut"/>
206                                 </tool:annotation>
207                         </xsd:appinfo>
208                 </xsd:annotation>
209                 <xsd:attribute name="id" type="xsd:ID" use="required">
210                         <xsd:annotation>
211                                 <xsd:documentation><![CDATA[
212         The unique identifier for a pointcut.
213                                 ]]></xsd:documentation>
214                         </xsd:annotation>
215                 </xsd:attribute>
216                 <xsd:attribute name="expression" use="required" type="xsd:string">
217                         <xsd:annotation>
218                                 <xsd:documentation><![CDATA[
219         The pointcut expression.
220         
221         For example : 'execution(* com.xyz.myapp.service.*.*(..))'
222                                 ]]></xsd:documentation>
223                         </xsd:annotation>
224                 </xsd:attribute>
225         </xsd:complexType>
226
227         <xsd:complexType name="declareParentsType">
228                 <xsd:attribute name="types-matching" type="xsd:string" use="required">
229                         <xsd:annotation>
230                                 <xsd:documentation source="java:org.springframework.aop.aspectj.TypePatternClassFilter"><![CDATA[
231         The AspectJ type expression that defines what types (classes) the
232         introduction is restricted to.
233
234         An example would be 'org.springframework.beans.ITestBean+'.
235                                 ]]></xsd:documentation>
236                         </xsd:annotation>
237                 </xsd:attribute>
238                 <xsd:attribute name="implement-interface" type="xsd:string" use="required">
239                         <xsd:annotation>
240                                 <xsd:documentation source="java:java.lang.Class"><![CDATA[
241         The fully qualified name of the interface that will be introduced. 
242                                 ]]></xsd:documentation>
243                         </xsd:annotation>
244                 </xsd:attribute>
245                 <xsd:attribute name="default-impl" type="xsd:string">
246                         <xsd:annotation>
247                                 <xsd:documentation source="java:java.lang.Class"><![CDATA[
248         The fully qualified name of the class that will be instantiated to serve
249         as the default implementation of the introduced interface. 
250                                 ]]></xsd:documentation>
251                         </xsd:annotation>
252                 </xsd:attribute>
253                 <xsd:attribute name="delegate-ref" type="xsd:string">
254                         <xsd:annotation>
255                                 <xsd:documentation><![CDATA[
256         A reference to the bean that will serve 
257         as the default implementation of the introduced interface.
258                                 ]]></xsd:documentation>
259                                 <xsd:appinfo>
260                                         <tool:annotation kind="ref"/>
261                                 </xsd:appinfo>
262                         </xsd:annotation>
263                 </xsd:attribute>
264         </xsd:complexType>
265
266         <xsd:complexType name="basicAdviceType">
267                 <xsd:attribute name="pointcut" type="xsd:string">
268                         <xsd:annotation>
269                                 <xsd:documentation><![CDATA[
270         The associated pointcut expression.
271                                 ]]></xsd:documentation>
272                         </xsd:annotation>
273                 </xsd:attribute>
274                 <xsd:attribute name="pointcut-ref" type="pointcutRefType">
275                         <xsd:annotation>
276                                 <xsd:documentation><![CDATA[
277         The name of an associated pointcut definition.
278                                 ]]></xsd:documentation>
279                                 <xsd:appinfo>
280                                         <tool:annotation kind="ref">
281                                                 <tool:expected-type type="org.springframework.aop.Pointcut"/>
282                                         </tool:annotation>
283                                 </xsd:appinfo>
284                         </xsd:annotation>
285                 </xsd:attribute>
286                 <xsd:attribute name="method" type="xsd:string" use="required">
287                         <xsd:annotation>
288                                 <xsd:documentation><![CDATA[
289         The name of the method that defines the logic of the advice.
290                                 ]]></xsd:documentation>
291                         </xsd:annotation>
292                 </xsd:attribute>
293                 <xsd:attribute name="arg-names" type="xsd:string">
294                         <xsd:annotation>
295                                 <xsd:documentation><![CDATA[
296         The comma-delimited list of advice method argument (parameter) names 
297         that will be matched from pointcut parameters.
298                                 ]]></xsd:documentation>
299                         </xsd:annotation>
300                 </xsd:attribute>
301         </xsd:complexType>
302
303         <xsd:complexType name="afterReturningAdviceType">
304                 <xsd:complexContent>
305                         <xsd:extension base="basicAdviceType">
306                                 <xsd:attribute name="returning" type="xsd:string">
307                                         <xsd:annotation>
308                                                 <xsd:documentation><![CDATA[
309         The name of the method parameter to which the return value must
310         be passed.
311                                                 ]]></xsd:documentation>
312                                         </xsd:annotation>
313                                 </xsd:attribute>
314                         </xsd:extension>
315                 </xsd:complexContent>
316         </xsd:complexType>
317
318         <xsd:complexType name="afterThrowingAdviceType">
319                 <xsd:complexContent>
320                         <xsd:extension base="basicAdviceType">
321                                 <xsd:attribute name="throwing" type="xsd:string">
322                                         <xsd:annotation>
323                                                 <xsd:documentation><![CDATA[
324         The name of the method parameter to which the thrown exception must
325         be passed.      
326                                                 ]]></xsd:documentation>
327                                         </xsd:annotation>
328                                 </xsd:attribute>
329                         </xsd:extension>
330                 </xsd:complexContent>
331         </xsd:complexType>
332
333         <xsd:complexType name="advisorType">
334                 <xsd:annotation>
335                         <xsd:appinfo>
336                                 <tool:annotation>
337                                         <tool:exports type="org.springframework.aop.Advisor"/>
338                                 </tool:annotation>
339                         </xsd:appinfo>
340                 </xsd:annotation>
341                 <!-- Rick : ID type written explicitly as opposed to being imported (c.f. [SPR-2290] -->
342                 <xsd:attribute name="id" type="xsd:ID"/>
343                 <xsd:attribute name="advice-ref" type="xsd:string" use="required">
344                         <xsd:annotation>
345                                 <xsd:documentation><![CDATA[
346         A reference to an advice bean.
347                                 ]]></xsd:documentation>
348                                 <xsd:appinfo>
349                                         <tool:annotation kind="ref">
350                                                 <tool:expected-type type="org.aopalliance.aop.Advice"/>
351                                         </tool:annotation>
352                                 </xsd:appinfo>
353                         </xsd:annotation>
354                 </xsd:attribute>
355                 <xsd:attribute name="pointcut" type="xsd:string">
356                         <xsd:annotation>
357                                 <xsd:documentation><![CDATA[
358         A pointcut expression.
359                                 ]]></xsd:documentation>
360                         </xsd:annotation>
361                 </xsd:attribute>
362                 <xsd:attribute name="pointcut-ref" type="pointcutRefType">
363                         <xsd:annotation>
364                                 <xsd:documentation><![CDATA[
365         A reference to a pointcut definition.
366                                 ]]></xsd:documentation>
367                         </xsd:annotation>
368                 </xsd:attribute>
369                 <xsd:attribute name="order" type="xsd:int">
370                         <xsd:annotation>
371                                 <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
372         Controls the ordering of the execution of this advice when multiple
373         advice executes at a specific joinpoint.
374                                 ]]></xsd:documentation>
375                         </xsd:annotation>
376                 </xsd:attribute>
377         </xsd:complexType>
378
379         <xsd:simpleType name="pointcutRefType">
380                 <xsd:annotation>
381                         <xsd:appinfo>
382                                 <tool:annotation kind="ref">
383                                         <tool:expected-type type="org.springframework.aop.Pointcut"/>
384                                 </tool:annotation>
385                         </xsd:appinfo>
386                 </xsd:annotation>
387                 <xsd:union memberTypes="xsd:string"/>
388         </xsd:simpleType>
389
390 </xsd:schema>