Salome HOME
edce1324f4de8502d04dd8b22e07d82357334aa7
[tools/siman.git] / Workspace / 3dparty_src / spring / schema / spring-lang-3.1.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
3 <xsd:schema xmlns="http://www.springframework.org/schema/lang"
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/lang"
8                 elementFormDefault="qualified"
9                 attributeFormDefault="unqualified">
10
11         <xsd:annotation>
12                 <xsd:documentation><![CDATA[
13         Defines the elements used in the Spring Framework's dynamic language
14         support, which allows bean definitions that are backed by classes
15         written in a language other than Java.
16                 ]]></xsd:documentation>
17         </xsd:annotation>
18
19         <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"/>
20         <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.1.xsd"/>
21
22         <xsd:element name="defaults">
23                 <xsd:annotation>
24                         <xsd:documentation><![CDATA[
25         Default settings for any scripted beans registered within this context.
26                         ]]></xsd:documentation>
27                 </xsd:annotation>
28                 <xsd:complexType>
29                         <xsd:attributeGroup ref="defaultableAttributes"/>
30                 </xsd:complexType>
31         </xsd:element>
32
33         <xsd:element name="groovy">
34                 <xsd:annotation>
35                         <xsd:documentation><![CDATA[
36         A Spring bean backed by a Groovy class definition.
37                         ]]></xsd:documentation>
38                 </xsd:annotation>
39                 <xsd:complexType>
40                         <xsd:complexContent>
41                                 <xsd:extension base="customizableScriptType">
42                                 <xsd:attributeGroup ref="defaultableAttributes"/>
43                                 </xsd:extension>
44                         </xsd:complexContent>
45                 </xsd:complexType>
46         </xsd:element>
47
48         <xsd:element name="jruby">
49                 <xsd:annotation>
50                         <xsd:documentation><![CDATA[
51         A Spring bean backed by a JRuby class definition.
52                         ]]></xsd:documentation>
53                 </xsd:annotation>
54                 <xsd:complexType>
55                         <xsd:complexContent>
56                                 <xsd:extension base="dynamicScriptType">
57                                 <xsd:attributeGroup ref="vanillaScriptAttributes"/>
58                                 </xsd:extension>
59                         </xsd:complexContent>
60                 </xsd:complexType>
61         </xsd:element>
62
63         <xsd:element name="bsh">
64                 <xsd:annotation>
65                         <xsd:documentation><![CDATA[
66         A Spring bean backed by a BeanShell script.
67                         ]]></xsd:documentation>
68                 </xsd:annotation>
69                 <xsd:complexType>
70                         <xsd:complexContent>
71                                 <xsd:extension base="dynamicScriptType">
72                                 <xsd:attributeGroup ref="vanillaScriptAttributes"/>
73                                 </xsd:extension>
74                         </xsd:complexContent>
75                 </xsd:complexType>
76         </xsd:element>
77
78         <!-- Script Types -->
79         <xsd:complexType name="simpleScriptType">
80                 <xsd:complexContent>
81                         <xsd:extension base="beans:identifiedType">
82                                 <xsd:sequence>
83                                         <xsd:element name="inline-script" minOccurs="0" maxOccurs="1">
84                                                 <xsd:annotation>
85                                                         <xsd:documentation><![CDATA[
86         The source code for the dynamic language-backed bean.
87                                                         ]]></xsd:documentation>
88                                                 </xsd:annotation>
89                                         </xsd:element>
90                                         <xsd:element name="property" type="beans:propertyType" minOccurs="0" maxOccurs="unbounded">
91                                                 <xsd:annotation>
92                                                         <xsd:documentation><![CDATA[
93         Dynamic language-backed bean definitions can have zero or more properties.
94         Property elements correspond to JavaBean setter methods exposed
95         by the bean classes. Spring supports primitives, references to other
96         beans in the same or related factories, lists, maps and properties.
97                                                         ]]></xsd:documentation>
98                                                 </xsd:annotation>
99                                         </xsd:element>
100                                 </xsd:sequence>
101                                 <xsd:attribute name="script-source" type="xsd:string">
102                                         <xsd:annotation>
103                                                 <xsd:documentation source="java:org.springframework.core.io.Resource"><![CDATA[
104         The resource containing the script for the dynamic language-backed bean.
105
106         Examples might be '/WEB-INF/scripts/Anais.groovy', 'classpath:Nin.bsh', etc.
107                                                 ]]></xsd:documentation>
108                                         </xsd:annotation>
109                                 </xsd:attribute>
110                                 <xsd:attribute name="name" type="xsd:string">
111                                         <xsd:annotation>
112                                                 <xsd:documentation><![CDATA[
113         The name of this scripted bean as an alias or replacement for the id.
114                                                 ]]></xsd:documentation>
115                                         </xsd:annotation>
116                                 </xsd:attribute>
117                                 <xsd:attribute name="scope" type="xsd:string">
118                                         <xsd:annotation>
119                                                 <xsd:documentation><![CDATA[
120         The scope of this scripted bean: typically "singleton" (one shared instance,
121         which will be returned by all calls to getBean with the given id), or
122         "prototype" (independent instance resulting from each call to getBean).
123         Default is "singleton".
124
125         Singletons are most commonly used, and are ideal for multi-threaded
126         service objects. Further scopes, such as "request" or "session", might
127         be supported by extended bean factories (e.g. in a web environment).
128                                                 ]]></xsd:documentation>
129                                         </xsd:annotation>
130                                 </xsd:attribute>
131                                 <xsd:attribute name="autowire" default="default">
132                                         <xsd:annotation>
133                                                 <xsd:documentation><![CDATA[
134         The autowire mode for the scripted bean.
135         Analogous to the 'autowire' attribute on a standard bean definition.
136                                                 ]]></xsd:documentation>
137                                         </xsd:annotation>
138                                         <xsd:simpleType>
139                                                 <xsd:restriction base="xsd:NMTOKEN">
140                                                         <xsd:enumeration value="default"/>
141                                                         <xsd:enumeration value="no"/>
142                                                         <xsd:enumeration value="byName"/>
143                                                         <xsd:enumeration value="byType"/>
144                                                 </xsd:restriction>
145                                         </xsd:simpleType>
146                                 </xsd:attribute>
147                                 <xsd:attribute name="depends-on" type="xsd:string">
148                                         <xsd:annotation>
149                                                 <xsd:documentation><![CDATA[
150                         The names of the beans that this bean depends on being initialized.
151                         The bean factory will guarantee that these beans get initialized
152                         before this bean.
153
154                         Note that dependencies are normally expressed through bean properties.
155                         This property should just be necessary other kinds of dependencies
156                         like statics (*ugh*) or database preparation on startup.
157                                                 ]]></xsd:documentation>
158                                         </xsd:annotation>
159                                 </xsd:attribute>
160                                 <xsd:attribute name="init-method" type="xsd:string">
161                                         <xsd:annotation>
162                                                 <xsd:documentation><![CDATA[
163         The name of an initialization method defined on the scripted bean.
164         Analogous to the 'init-method' attribute on a standard bean definition.
165                                                 ]]></xsd:documentation>
166                                         </xsd:annotation>
167                                 </xsd:attribute>
168                                 <xsd:attribute name="destroy-method" type="xsd:string">
169                                         <xsd:annotation>
170                                                 <xsd:documentation><![CDATA[
171         The name of a destruction method defined on the scripted bean.
172         Analogous to the 'destroy-method' attribute on a standard bean definition.
173                                                 ]]></xsd:documentation>
174                                         </xsd:annotation>
175                                 </xsd:attribute>
176                         </xsd:extension>
177                 </xsd:complexContent>
178         </xsd:complexType>
179
180         <xsd:complexType name="dynamicScriptType">
181                 <xsd:complexContent>
182                         <xsd:extension base="simpleScriptType">
183                                 <xsd:attribute name="script-interfaces">
184                                         <xsd:annotation>
185                                                 <xsd:documentation source="java:java.lang.Class"><![CDATA[
186         The Java interfaces that the dynamic language-backed object is to expose; comma-delimited.
187                                                 ]]></xsd:documentation>
188                                         </xsd:annotation>
189                                 </xsd:attribute>
190                         </xsd:extension>
191                 </xsd:complexContent>
192         </xsd:complexType>
193
194         <xsd:complexType name="customizableScriptType">
195                 <xsd:complexContent>
196                         <xsd:extension base="simpleScriptType">
197                                 <xsd:attribute name="customizer-ref">
198                                         <xsd:annotation>
199                                                 <xsd:documentation><![CDATA[
200         Reference to a GroovyObjectCustomizer or similar customizer bean.
201                                                 ]]></xsd:documentation>
202                                         </xsd:annotation>
203                                 </xsd:attribute>
204                         </xsd:extension>
205                 </xsd:complexContent>
206         </xsd:complexType>
207
208         <xsd:attributeGroup name="vanillaScriptAttributes">
209                 <xsd:attribute name="refresh-check-delay" type="xsd:long">
210                         <xsd:annotation>
211                                 <xsd:documentation><![CDATA[
212         The delay (in milliseconds) between checks for updated sources when
213         using the refreshable beans feature.
214                                 ]]></xsd:documentation>
215                         </xsd:annotation>
216                 </xsd:attribute>
217         </xsd:attributeGroup>
218
219         <xsd:attributeGroup name="defaultableAttributes">
220                 <xsd:attribute name="proxy-target-class" type="xsd:boolean">
221                         <xsd:annotation>
222                                 <xsd:documentation><![CDATA[
223         Flag to tell the bean factory that if this bean is proxied it should be done using the target class type, 
224         not its interfaces.  A refreshable script is normally proxied, so often this is useful in conjunction with 
225         refresh-check-delay.  Defaults to false requiring no additional library dependencies, but hiding behaviour in the
226         bean that is not defined in an interface.
227                                 ]]></xsd:documentation>
228                         </xsd:annotation>
229                 </xsd:attribute>
230                 <xsd:attributeGroup ref="vanillaScriptAttributes"></xsd:attributeGroup>
231         </xsd:attributeGroup>
232
233 </xsd:schema>