Salome HOME
22fd8fc5095b81c4b37807be5116a492b3ee14d7
[tools/siman.git] / Workspace / 3dparty_src / spring / schema / spring-aop-2.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-2.0.xsd"/>
12         <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-2.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: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:element name="spring-configured">
113                 <xsd:annotation>
114                         <xsd:documentation source="java:org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect"><![CDATA[
115         Signals the current application context to apply dependency injection
116         to non-managed objects that are instantiated outside of the Spring bean
117         factory (typically classes annotated with the @Configurable annotation).
118                         ]]></xsd:documentation>
119                 </xsd:annotation>
120                 <xsd:simpleType>
121                         <xsd:restriction base="xsd:string"/>
122                 </xsd:simpleType>
123         </xsd:element>
124
125         <xsd:complexType name="aspectType">
126                 <xsd:choice minOccurs="0" maxOccurs="unbounded">
127                         <xsd:element name="pointcut" type="pointcutType">
128                                 <xsd:annotation>
129                                         <xsd:documentation><![CDATA[
130         A named pointcut definition.
131                                         ]]></xsd:documentation>
132                                 </xsd:annotation>
133                         </xsd:element>
134                         <xsd:element name="declare-parents" type="declareParentsType">
135                                 <xsd:annotation>
136                                         <xsd:documentation><![CDATA[
137         Allows this aspect to introduce additional interfaces that the advised
138         object will transparently implement.
139                                         ]]></xsd:documentation>
140                                 </xsd:annotation>
141                         </xsd:element>
142                         <xsd:element name="before" type="basicAdviceType">
143                                 <xsd:annotation>
144                                         <xsd:documentation><![CDATA[
145         A before advice definition.
146                                         ]]></xsd:documentation>
147                                 </xsd:annotation>
148                         </xsd:element>
149                         <xsd:element name="after" type="basicAdviceType">
150                                 <xsd:annotation>
151                                         <xsd:documentation><![CDATA[
152         An after advice definition.
153                                         ]]></xsd:documentation>
154                                 </xsd:annotation>
155                         </xsd:element>
156                         <xsd:element name="after-returning" type="afterReturningAdviceType">
157                                 <xsd:annotation>
158                                         <xsd:documentation><![CDATA[
159         An after-returning advice definition.
160                                         ]]></xsd:documentation>
161                                 </xsd:annotation>
162                         </xsd:element>
163                         <xsd:element name="after-throwing" type="afterThrowingAdviceType">
164                                 <xsd:annotation>
165                                         <xsd:documentation><![CDATA[
166         An after-throwing advice definition.
167                                         ]]></xsd:documentation>
168                                 </xsd:annotation>
169                         </xsd:element>
170                         <xsd:element name="around" type="basicAdviceType">
171                                 <xsd:annotation>
172                                         <xsd:documentation><![CDATA[
173         An around advice definition.
174                                         ]]></xsd:documentation>
175                                 </xsd:annotation>
176                         </xsd:element>
177                 </xsd:choice>
178                 <xsd:attribute name="id" type="xsd:ID">
179                         <xsd:annotation>
180                                 <xsd:documentation><![CDATA[
181         The unique identifier for an aspect.
182                                 ]]></xsd:documentation>
183                         </xsd:annotation>
184                 </xsd:attribute>
185                 <xsd:attribute name="ref" type="xsd:string">
186                         <xsd:annotation>
187                                 <xsd:documentation><![CDATA[
188         The name of the (backing) bean that encapsulates the aspect.
189                                 ]]></xsd:documentation>
190                         </xsd:annotation>
191                 </xsd:attribute>
192                 <xsd:attribute name="order" type="xsd:int">
193                         <xsd:annotation>
194                                 <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
195         Controls the ordering of the execution of this aspect when multiple
196         advice executes at a specific joinpoint.
197                                 ]]></xsd:documentation>
198                         </xsd:annotation>
199                 </xsd:attribute>
200         </xsd:complexType>
201
202         <xsd:complexType name="includeType">
203                 <xsd:attribute name="name" type="xsd:string">
204                         <xsd:annotation>
205                                 <xsd:documentation source="java:java.util.regex.Pattern"><![CDATA[
206         The regular expression defining which beans are to be included in the
207         list of @AspectJ beans; beans with names matched by the pattern will
208         be included.
209                                 ]]></xsd:documentation>
210                         </xsd:annotation>
211                 </xsd:attribute>
212         </xsd:complexType>
213
214         <xsd:complexType name="pointcutType">
215                 <xsd:annotation>
216                         <xsd:appinfo>
217                                 <tool:annotation>
218                                         <tool:exports type="org.springframework.aop.Pointcut"/>
219                                 </tool:annotation>
220                         </xsd:appinfo>
221                 </xsd:annotation>
222                 <xsd:attribute name="id" type="xsd:ID">
223                         <xsd:annotation>
224                                 <xsd:documentation><![CDATA[
225         The unique identifier for a pointcut.
226                                 ]]></xsd:documentation>
227                         </xsd:annotation>
228                 </xsd:attribute>
229                 <xsd:attribute name="expression" use="required" type="xsd:string">
230                         <xsd:annotation>
231                                 <xsd:documentation><![CDATA[
232         The pointcut expression.
233         
234         For example : 'execution(* com.xyz.myapp.service.*.*(..))'
235                                 ]]></xsd:documentation>
236                         </xsd:annotation>
237                 </xsd:attribute>
238                 <xsd:attribute name="type" default="aspectj">
239                         <xsd:annotation>
240                                 <xsd:documentation><![CDATA[
241         The type of pointcut expression (see the associated enumeration).
242         DEPRECATED: Only AspectJ expression pointcuts are supported.
243                                 ]]></xsd:documentation>
244                         </xsd:annotation>
245                         <xsd:simpleType>
246                                 <xsd:restriction base="xsd:string">
247                                         <xsd:enumeration value="aspectj"/>
248                                         <xsd:enumeration value="regex"/>
249                                 </xsd:restriction>
250                         </xsd:simpleType>
251                 </xsd:attribute>
252         </xsd:complexType>
253
254         <xsd:complexType name="declareParentsType">
255                 <xsd:attribute name="types-matching" type="xsd:string" use="required">
256                         <xsd:annotation>
257                                 <xsd:documentation source="java:org.springframework.aop.aspectj.TypePatternClassFilter"><![CDATA[
258         The AspectJ type expression that defines what types (classes) the
259         introduction is restricted to.
260
261         An example would be 'org.springframework.beans.ITestBean+'.
262                                 ]]></xsd:documentation>
263                         </xsd:annotation>
264                 </xsd:attribute>
265                 <xsd:attribute name="implement-interface" type="xsd:string" use="required">
266                         <xsd:annotation>
267                                 <xsd:documentation source="java:java.lang.Class"><![CDATA[
268         The fully qualified name of the interface that will be introduced. 
269                                 ]]></xsd:documentation>
270                         </xsd:annotation>
271                 </xsd:attribute>
272                 <xsd:attribute name="default-impl" type="xsd:string" use="required">
273                         <xsd:annotation>
274                                 <xsd:documentation source="java:java.lang.Class"><![CDATA[
275         The fully qualified name of the class that will be instantiated to serve
276         as the default implementation of the introduced interface. 
277                                 ]]></xsd:documentation>
278                         </xsd:annotation>
279                 </xsd:attribute>
280         </xsd:complexType>
281
282         <xsd:complexType name="basicAdviceType">
283                 <xsd:attribute name="pointcut" type="xsd:string">
284                         <xsd:annotation>
285                                 <xsd:documentation><![CDATA[
286         The associated pointcut expression.
287                                 ]]></xsd:documentation>
288                         </xsd:annotation>
289                 </xsd:attribute>
290                 <xsd:attribute name="pointcut-ref" type="pointcutRefType">
291                         <xsd:annotation>
292                                 <xsd:documentation><![CDATA[
293         The name of an associated pointcut definition.
294                                 ]]></xsd:documentation>
295                                 <xsd:appinfo>
296                                         <tool:annotation kind="ref">
297                                                 <tool:expected-type type="org.springframework.aop.Pointcut"/>
298                                         </tool:annotation>
299                                 </xsd:appinfo>
300                         </xsd:annotation>
301                 </xsd:attribute>
302                 <xsd:attribute name="method" type="xsd:string" use="required">
303                         <xsd:annotation>
304                                 <xsd:documentation><![CDATA[
305         The name of the method that defines the logic of the advice.
306                                 ]]></xsd:documentation>
307                         </xsd:annotation>
308                 </xsd:attribute>
309                 <xsd:attribute name="arg-names" type="xsd:string">
310                         <xsd:annotation>
311                                 <xsd:documentation><![CDATA[
312         The comma-delimited list of advice method argument (parameter) names 
313         that will be matched from pointcut parameters.
314                                 ]]></xsd:documentation>
315                         </xsd:annotation>
316                 </xsd:attribute>
317         </xsd:complexType>
318
319         <xsd:complexType name="afterReturningAdviceType">
320                 <xsd:complexContent>
321                         <xsd:extension base="basicAdviceType">
322                                 <xsd:attribute name="returning" type="xsd:string">
323                                         <xsd:annotation>
324                                                 <xsd:documentation><![CDATA[
325         The name of the method parameter to which the return value must
326         be passed.
327                                                 ]]></xsd:documentation>
328                                         </xsd:annotation>
329                                 </xsd:attribute>
330                         </xsd:extension>
331                 </xsd:complexContent>
332         </xsd:complexType>
333
334         <xsd:complexType name="afterThrowingAdviceType">
335                 <xsd:complexContent>
336                         <xsd:extension base="basicAdviceType">
337                                 <xsd:attribute name="throwing" type="xsd:string">
338                                         <xsd:annotation>
339                                                 <xsd:documentation><![CDATA[
340         The name of the method parameter to which the thrown exception must
341         be passed.      
342                                                 ]]></xsd:documentation>
343                                         </xsd:annotation>
344                                 </xsd:attribute>
345                         </xsd:extension>
346                 </xsd:complexContent>
347         </xsd:complexType>
348
349         <xsd:complexType name="advisorType">
350                 <xsd:annotation>
351                         <xsd:appinfo>
352                                 <tool:annotation>
353                                         <tool:exports type="org.springframework.aop.Advisor"/>
354                                 </tool:annotation>
355                         </xsd:appinfo>
356                 </xsd:annotation>
357                 <!-- Rick : ID type written explicitly as opposed to being imported (c.f. [SPR-2290] -->
358                 <xsd:attribute name="id" type="xsd:ID"/>
359                 <xsd:attribute name="advice-ref" type="xsd:string" use="required">
360                         <xsd:annotation>
361                                 <xsd:documentation><![CDATA[
362         A reference to an advice bean.
363                                 ]]></xsd:documentation>
364                                 <xsd:appinfo>
365                                         <tool:annotation kind="ref">
366                                                 <tool:expected-type type="org.aopalliance.aop.Advice"/>
367                                         </tool:annotation>
368                                 </xsd:appinfo>
369                         </xsd:annotation>
370                 </xsd:attribute>
371                 <xsd:attribute name="pointcut" type="xsd:string">
372                         <xsd:annotation>
373                                 <xsd:documentation><![CDATA[
374         A pointcut expression.
375                                 ]]></xsd:documentation>
376                         </xsd:annotation>
377                 </xsd:attribute>
378                 <xsd:attribute name="pointcut-ref" type="pointcutRefType">
379                         <xsd:annotation>
380                                 <xsd:documentation><![CDATA[
381         A reference to a pointcut definition.
382                                 ]]></xsd:documentation>
383                         </xsd:annotation>
384                 </xsd:attribute>
385                 <xsd:attribute name="order" type="xsd:int">
386                         <xsd:annotation>
387                                 <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
388         Controls the ordering of the execution of this advice when multiple
389         advice executes at a specific joinpoint.
390                                 ]]></xsd:documentation>
391                         </xsd:annotation>
392                 </xsd:attribute>
393         </xsd:complexType>
394
395         <xsd:simpleType name="pointcutRefType">
396                 <xsd:annotation>
397                         <xsd:appinfo>
398                                 <tool:annotation kind="ref">
399                                         <tool:expected-type type="org.springframework.aop.Pointcut"/>
400                                 </tool:annotation>
401                         </xsd:appinfo>
402                 </xsd:annotation>
403                 <xsd:union memberTypes="xsd:string"/>
404         </xsd:simpleType>
405
406 </xsd:schema>