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