1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3 <xsd:schema xmlns="http://www.springframework.org/schema/tool"
4 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 targetNamespace="http://www.springframework.org/schema/tool"
6 elementFormDefault="qualified">
8 <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
11 <xsd:documentation><![CDATA[
12 Defines the tool support annotations for Spring's configuration namespaces.
13 Used in other namespace XSD files; not intended for direct use in config files.
14 ]]></xsd:documentation>
17 <xsd:element name="annotation">
19 <xsd:sequence minOccurs="0">
20 <xsd:element name="expected-type" type="typedParameterType" minOccurs="0" maxOccurs="1"/>
21 <xsd:element name="assignable-to" type="assignableToType" minOccurs="0" maxOccurs="1"/>
22 <xsd:element name="exports" type="exportsType" minOccurs="0" maxOccurs="unbounded"/>
23 <xsd:element name="registers-scope" type="registersScopeType" minOccurs="0" maxOccurs="unbounded"/>
24 <xsd:element name="expected-method" type="expectedMethodType" minOccurs="0" maxOccurs="unbounded"/>
26 <xsd:attribute name="kind" default="direct">
28 <xsd:restriction base="xsd:string">
29 <xsd:enumeration value="ref"/>
30 <xsd:enumeration value="direct"/>
37 <xsd:complexType name="typedParameterType">
38 <xsd:attribute name="type" type="xsd:string" use="required"/>
41 <xsd:complexType name="assignableToType">
42 <xsd:attribute name="type" type="xsd:string"/>
43 <xsd:attribute name="restriction" default="both">
45 <xsd:restriction base="xsd:NMTOKEN">
46 <xsd:enumeration value="both"/>
47 <xsd:enumeration value="interface-only"/>
48 <xsd:enumeration value="class-only"/>
54 <xsd:complexType name="expectedMethodType">
55 <xsd:attribute name="type" type="xsd:string">
57 <xsd:documentation><![CDATA[
58 Defines an XPath query that can be executed against the node annotated with this
59 type to determine the class for which the this method is valid
60 ]]></xsd:documentation>
63 <xsd:attribute name="type-ref" type="xsd:string">
65 <xsd:documentation><![CDATA[
66 Defines an XPath query that can be executed against the node annotated with this
67 type to determine a referenced bean (by id or alias) for which the given method is valid
68 ]]></xsd:documentation>
71 <xsd:attribute name="expression" type="xsd:string">
73 <xsd:documentation><![CDATA[
74 Defines an AspectJ method execution pointcut expressions that matches valid methods
75 ]]></xsd:documentation>
80 <xsd:complexType name="exportsType">
82 <xsd:documentation><![CDATA[
83 Indicates that an annotated type exports an application visible component.
84 ]]></xsd:documentation>
86 <xsd:attribute name="type" type="xsd:string">
88 <xsd:documentation><![CDATA[
89 The type of the exported component. May be null if the type is not known until runtime.
90 ]]></xsd:documentation>
93 <xsd:attribute name="identifier" type="xsd:string" default="@id">
95 <xsd:documentation><![CDATA[
96 Defines an XPath query that can be executed against the node annotated with this
97 type to determine the identifier of any exported component.
98 ]]></xsd:documentation>
103 <xsd:complexType name="registersScopeType">
104 <xsd:attribute name="name" type="xsd:string" use="required">
106 <xsd:documentation><![CDATA[
107 Defines the name of a custom bean scope that the annotated type registers, e.g. "conversation".
108 Such a scope will be available in addition to the standard "singleton" and "prototype" scopes
109 (plus "request", "session" and "globalSession" in a web application environment).
110 ]]></xsd:documentation>