|
151 | 151 | </xsd:complexType> |
152 | 152 | </xsd:element> |
153 | 153 |
|
154 | | - <!-- TODO Right now properties are specific with element content, as opposed |
155 | | - to using the value attribute --> |
156 | | - <!--type="propertyType" --> |
157 | | - <xsd:element name="property" > |
| 154 | + <xsd:element name="property" type="propertyType" > |
158 | 155 | <xsd:annotation> |
159 | 156 | <xsd:documentation><![CDATA[ |
160 | 157 | Component definitions can have zero or more properties. |
|
169 | 166 | <xsd:element ref="description" minOccurs="0"/> |
170 | 167 | <xsd:choice minOccurs="0" maxOccurs="1"> |
171 | 168 | <xsd:element ref="value"/> |
| 169 | + <xsd:element ref="ref"/> |
| 170 | + <xsd:element ref="list"/> |
172 | 171 | <xsd:any namespace="##other" processContents="strict"/> |
173 | 172 | </xsd:choice> |
174 | 173 | </xsd:sequence> |
|
179 | 178 | ]]></xsd:documentation> |
180 | 179 | </xsd:annotation> |
181 | 180 | </xsd:attribute> |
| 181 | + <xsd:attribute name="ref" type="xsd:string"> |
| 182 | + <xsd:annotation> |
| 183 | + <xsd:documentation><![CDATA[ |
| 184 | + A short-cut alternative to a nested "<ref component='...'/>". |
| 185 | + ]]></xsd:documentation> |
| 186 | + </xsd:annotation> |
| 187 | + </xsd:attribute> |
182 | 188 | <xsd:attribute name="value" type="xsd:string"> |
183 | 189 | <xsd:annotation> |
184 | 190 | <xsd:documentation><![CDATA[ |
|
224 | 230 | </xsd:complexType> |
225 | 231 | </xsd:element> |
226 | 232 |
|
| 233 | + <xsd:element name="ref"> |
| 234 | + <xsd:annotation> |
| 235 | + <xsd:documentation><![CDATA[ |
| 236 | + Defines a reference to another component in this factory or an external |
| 237 | + factory (parent or included factory). |
| 238 | + ]]></xsd:documentation> |
| 239 | + </xsd:annotation> |
| 240 | + <xsd:complexType> |
| 241 | + <xsd:complexContent> |
| 242 | + <xsd:restriction base="xsd:anyType"> |
| 243 | + <xsd:attribute name="component" type="xsd:string"> |
| 244 | + <xsd:annotation> |
| 245 | + <xsd:documentation><![CDATA[ |
| 246 | + The name of the referenced bean. |
| 247 | + ]]></xsd:documentation> |
| 248 | + </xsd:annotation> |
| 249 | + </xsd:attribute> |
| 250 | + <xsd:attribute name="local" type="xsd:IDREF"> |
| 251 | + <xsd:annotation> |
| 252 | + <xsd:documentation><![CDATA[ |
| 253 | + The name of the referenced bean. The value must be a bean ID and thus can |
| 254 | + be checked by the XML parser. This is therefore the preferred technique |
| 255 | + for referencing beans within the same bean factory XML file. |
| 256 | + ]]></xsd:documentation> |
| 257 | + </xsd:annotation> |
| 258 | + </xsd:attribute> |
| 259 | + </xsd:restriction> |
| 260 | + </xsd:complexContent> |
| 261 | + </xsd:complexType> |
| 262 | + </xsd:element> |
| 263 | + |
| 264 | + <xsd:element name="null"> |
| 265 | + <xsd:annotation> |
| 266 | + <xsd:documentation> |
| 267 | + Denotes a Python None value. Necessary because an empty "value" tag |
| 268 | + will resolve to an empty String, which will not be resolved to a |
| 269 | + None value unless a special PropertyEditor does so. |
| 270 | + </xsd:documentation> |
| 271 | + </xsd:annotation> |
| 272 | + <xsd:complexType mixed="true"> |
| 273 | + <xsd:choice minOccurs="0" maxOccurs="unbounded"/> |
| 274 | + </xsd:complexType> |
| 275 | + </xsd:element> |
| 276 | + |
| 277 | + <!-- Collection Elements --> |
| 278 | + <xsd:group name="collectionElements"> |
| 279 | + <xsd:sequence> |
| 280 | + <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
| 281 | + <xsd:element ref="component"/> |
| 282 | + <xsd:element ref="ref"/> |
| 283 | + <xsd:element ref="value"/> |
| 284 | + <xsd:element ref="null"/> |
| 285 | + <xsd:element ref="list"/> |
| 286 | + <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/> |
| 287 | + </xsd:choice> |
| 288 | + </xsd:sequence> |
| 289 | + </xsd:group> |
| 290 | + |
| 291 | + <xsd:element name="list" type="listOrSetType"> |
| 292 | + <xsd:annotation> |
| 293 | + <xsd:documentation><![CDATA[ |
| 294 | + A list can contain multiple inner component, ref, collection, or value |
| 295 | + elements. The necessary conversion is automatically performed |
| 296 | + by the ComponentFactory. |
| 297 | + ]]></xsd:documentation> |
| 298 | + </xsd:annotation> |
| 299 | + </xsd:element> |
| 300 | + |
| 301 | + <!-- 'list' and 'set' collection type --> |
| 302 | + <xsd:complexType name="listOrSetType"> |
| 303 | + <xsd:group ref="collectionElements"/> |
| 304 | + </xsd:complexType> |
| 305 | + |
227 | 306 | <!-- simple internal types --> |
228 | 307 | <xsd:simpleType name="defaultable-boolean"> |
229 | 308 | <xsd:restriction base="xsd:NMTOKEN"> |
|
0 commit comments