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