Repository navigation
Expand file tree
/
Copy pathspring-python-pycontainer-context-1.0.xsd
More file actions
154 lines (138 loc) · 5.09 KB
/
Copy pathspring-python-pycontainer-context-1.0.xsd
File metadata and controls
154 lines (138 loc) · 5.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://www.springframework.org/springpython/schema/pycontainer-components"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.springframework.org/springpython/schema/pycontainer-components"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:annotation>
<xsd:documentation><![CDATA[
Spring Python XML Components Schema, PyContainer dialect
Authors: Greg Turnquist, Russ Miles
This defines a simple and consistent way of creating a namespace
of Spring Python components.
]]></xsd:documentation>
</xsd:annotation>
<!-- Top-level <components> tag -->
<xsd:element name="components">
<xsd:annotation>
<xsd:documentation><![CDATA[
The top level (typically root) element. Allows the definition
of default values for all nested bean definitions.
]]></xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="component"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="component" type="componentType">
<xsd:annotation>
<xsd:documentation><![CDATA[
Defines a single (usually named) component.
A component definition may contain nested tags for constructor arguments,
property values, lookup methods, and replaced methods. Mixing constructor
injection and setter injection on the same bean is explicitly supported.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property" type="propertyType">
<xsd:annotation>
<xsd:documentation><![CDATA[
Component definitions can have zero or more properties.
Property elements correspond to public attributes for the
component.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="list" type="listType">
<xsd:annotation>
<xsd:documentation><![CDATA[
This element defines one entry in a list, and the entries must be references
to other components.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="componentType">
<xsd:sequence>
<xsd:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
The unique identifier for a component.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="class" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The fully qualified name of the component's class.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="scope" type="scopeType" default="singleton">
<xsd:annotation>
<xsd:documentation><![CDATA[
The scope of this component: typically "singleton" (one shared instance,
which will be returned by all calls to get_component with the given id), or
"prototype" (independent instance resulting from each call to get_component).
Default is "singleton".
Singletons are most commonly used, and are ideal for multi-threaded
service objects. Further scopes, such as "request" or "session", might
be supported by extended factories (e.g. in a web environment).
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="lazy-init" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation><![CDATA[
Indicates whether or not this bean is to be lazily initialized.
If false, it will be instantiated on startup by component factories
that perform eager initialization of singletons. The default is
"false".
Note: This attribute will not be inherited by child bean definitions.
Hence, it needs to be specified per concrete component definition.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:simpleType name="scopeType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="singleton"/>
<xsd:enumeration value="prototype"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="propertyType" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
<xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
The name of the property.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="local" type="xsd:IDREF" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
A reference to a locally declared component.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="listType">
<xsd:attribute name="local" type="xsd:IDREF" use="required">
<xsd:annotation>
<xsd:documentation><![CDATA[
Reference to another component by id.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:schema>