9fade5f1f24026ab30e9fa67471e1934b8130631
[controller.git] / opendaylight / blueprint / src / main / resources / opendaylight-blueprint-ext-1.0.0.xsd
1 <xsd:schema xmlns="http://opendaylight.org/xmlns/blueprint/v1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
2     xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
3     targetNamespace="http://opendaylight.org/xmlns/blueprint/v1.0.0" elementFormDefault="qualified"
4     attributeFormDefault="unqualified" version="1.0.0">
5
6   <!--
7    Copyright © 2016, 2018 Brocade Communications Systems, Inc. and others.
8
9    This program and the accompanying materials are made available under the
10    terms of the Eclipse Public License v1.0 which accompanies this distribution,
11    and is available at http://www.eclipse.org/legal/epl-v10.html
12    -->
13
14   <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0"/>
15
16   <xsd:attribute name="restart-dependents-on-updates" type="xsd:boolean"/>
17   <xsd:attribute name="use-default-for-reference-types" type="xsd:boolean"/>
18   <xsd:attribute name="type" type="xsd:string"/>
19
20   <!--
21        String representation of an instance identifier. Precise string format
22        is undefined just now.
23    -->
24   <xsd:simpleType name="Tpath">
25     <xsd:restriction base="xsd:string"/>
26   </xsd:simpleType>
27
28   <!--
29        A promise to instantiate actions of specified binding interface.
30        Specified interface must define at least one action. In case a bean
31        is specified, it will be used as the implementation of last resort
32        for actions not otherwise bound. If a bean is not specified, a blank
33        implementation will be substituted.
34    -->
35   <xsd:complexType name="TactionProvider">
36     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
37     <xsd:attribute name="ref" type="bp:Tidref" use="optional"/>
38   </xsd:complexType>
39   <xsd:element name="action-provider" type="TactionProvider"/>
40
41   <!--
42        A reference to an action-provider providing specified interface.
43        Specified interface must define at least one action.
44    -->
45   <xsd:complexType name="TactionService">
46     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
47     <xsd:attribute name="id" type="xsd:ID"/>
48   </xsd:complexType>
49   <xsd:element name="action-service" type="TactionService"/>
50
51   <!--
52        Implementation of an action at specific instance. This is used
53        to provide binding to actions on specific context, rather than
54        to a more general contract of action-provider.
55   <xsd:complexType name="TactionImplementation">
56     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
57     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
58     <xsd:attribute name="path" type="Tpath" use="required"/>
59     <xsd:attribute name="id" type="xsd:ID"/>
60   </xsd:complexType>
61   <xsd:element name="action-implementation" type="TactionImplementation"/ -->
62
63   <!--
64        A reference to a specific action-implementation.
65   <xsd:complexType name="TactionInstance">
66     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
67     <xsd:attribute name="path" type="Tpath" use="required"/>
68     <xsd:attribute name="id" type="xsd:ID"/>
69   </xsd:complexType>
70   <xsd:element name="action-instance" type="TactionInstance"/ -->
71
72   <xsd:complexType name="TrpcImplementation">
73     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
74     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
75   </xsd:complexType>
76   <xsd:element name="rpc-implementation" type="TrpcImplementation"/>
77
78   <!--
79        To be deprecated. This interface contract is fulfilled by
80        action-implementation instead
81    -->
82   <xsd:complexType name="TroutedRpcImplementation">
83     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
84     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
85     <xsd:attribute name="id" type="xsd:ID"/>
86   </xsd:complexType>
87   <xsd:element name="routed-rpc-implementation" type="TroutedRpcImplementation"/>
88
89   <xsd:complexType name="TrpcService">
90     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
91     <xsd:attribute name="id" type="xsd:ID"/>
92   </xsd:complexType>
93   <xsd:element name="rpc-service" type="TrpcService"/>
94
95   <xsd:complexType name="TnotificationListener">
96     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
97   </xsd:complexType>
98   <xsd:element name="notification-listener" type="TnotificationListener"/>
99
100   <xsd:complexType name="TclusteredAppConfig">
101     <xsd:sequence>
102       <xsd:element name="default-config" type="xsd:string" minOccurs="0" maxOccurs="1"/>
103     </xsd:sequence>
104     <xsd:attribute name="binding-class" type="bp:Tclass" use="required"/>
105     <xsd:attribute name="list-key-value" type="xsd:string" use="optional"/>
106     <xsd:attribute name="default-config-file-name" type="xsd:string" use="optional"/>
107     <xsd:attribute name="id" type="xsd:ID" use="required"/>
108     <xsd:attribute name="update-strategy" type="TupdateStrategy" use="optional" default="reload"/>
109   </xsd:complexType>
110   <xsd:element name="clustered-app-config" type="TclusteredAppConfig"/>
111  <xsd:simpleType name="TupdateStrategy">
112   <xsd:restriction base="xsd:NMTOKEN">
113     <xsd:enumeration value="none"/>
114     <xsd:enumeration value="reload"/>
115   </xsd:restriction>
116  </xsd:simpleType>
117   <xsd:complexType name="TspecificReferenceList">
118     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
119     <xsd:attribute name="id" type="xsd:ID"/>
120   </xsd:complexType>
121   <xsd:element name="specific-reference-list" type="TspecificReferenceList"/>
122
123   <xsd:complexType name="TstaticReference">
124     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
125     <xsd:attribute name="id" type="xsd:ID"/>
126   </xsd:complexType>
127   <xsd:element name="static-reference" type="TstaticReference"/>
128 </xsd:schema>