|
1 <?xml version="1.0" encoding="UTF-8"?> |
|
2 <!-- Copyright (C) 2006 Nokia Corporation. All rights reserved. --> |
|
3 |
|
4 <!-- Entities for parts of the definitions we're forced to repeat due to |
|
5 the lack of multiple inheritance in EMF --> |
|
6 <!DOCTYPE xsd:schema [ |
|
7 <!ENTITY MapMemberAttributes ' |
|
8 <xsd:attribute name="member" type="xsd:string" use="required"> |
|
9 <xsd:annotation><xsd:documentation> |
|
10 The struct member. |
|
11 </xsd:documentation></xsd:annotation> |
|
12 </xsd:attribute> |
|
13 |
|
14 <xsd:attribute default="true" name="suppressDefault" type="xsd:boolean" use="optional"> |
|
15 <xsd:annotation><xsd:documentation> |
|
16 If true, do not emit the member initializer if the property matches the default |
|
17 specified in the STRUCT. If may be useful to set this to false if the |
|
18 default changes between SDK releases (to avoid branching components). |
|
19 </xsd:documentation></xsd:annotation> |
|
20 </xsd:attribute> |
|
21 ' |
|
22 > |
|
23 |
|
24 <!ENTITY MapPropertyAttribute ' |
|
25 <xsd:attribute name="property" type="xsd:string" use="required"> |
|
26 <xsd:annotation><xsd:documentation> |
|
27 The property path providing the value. |
|
28 </xsd:documentation></xsd:annotation> |
|
29 </xsd:attribute> |
|
30 |
|
31 ' |
|
32 > |
|
33 |
|
34 <!ENTITY MapTypeIdAttribute ' |
|
35 <xsd:attribute name="typeId" type="xsd:string" use="optional"> |
|
36 <xsd:annotation><xsd:documentation> |
|
37 Identifies the id for this particular kind of type mapping. |
|
38 </xsd:documentation></xsd:annotation> |
|
39 </xsd:attribute> |
|
40 |
|
41 ' |
|
42 > |
|
43 ]> |
|
44 |
|
45 <xsd:schema xmlns="http://www.nokia.com/sdt/emf/component" |
|
46 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" |
|
47 xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
|
48 elementFormDefault="qualified" |
|
49 targetNamespace="http://www.nokia.com/sdt/emf/component"> |
|
50 |
|
51 <xsd:element name="componentDefinition"> |
|
52 <xsd:annotation> |
|
53 <xsd:documentation>componentDefinition must be the root element of a component definition document. |
|
54 |
|
55 It includes zero or more compound property declarations, zero or more enum declarations and zero or one |
|
56 component declarations. |
|
57 |
|
58 Displayable strings can either be included literally within the XML or referenced in the |
|
59 component.properties file by prefixing the string with %. For example, "%foo" references the |
|
60 value of the "foo" property in component.properties. To obtain the string "%foo" |
|
61 use a double %, e.g. "%%foo". |
|
62 </xsd:documentation> |
|
63 </xsd:annotation> |
|
64 <xsd:complexType> |
|
65 <xsd:sequence> |
|
66 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="compoundPropertyDeclaration"/> |
|
67 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="enumPropertyDeclaration"/> |
|
68 <xsd:element minOccurs="0" ref="component"/> |
|
69 </xsd:sequence> |
|
70 </xsd:complexType> |
|
71 </xsd:element> |
|
72 <xsd:element name="component"> |
|
73 <xsd:annotation><xsd:documentation> |
|
74 This is the container element for all the information about a single component. |
|
75 </xsd:documentation></xsd:annotation> |
|
76 <xsd:complexType> |
|
77 <xsd:sequence> |
|
78 <xsd:element minOccurs="0" ref="documentation"/> |
|
79 <xsd:element minOccurs="0" ref="symbian"/> |
|
80 <xsd:element minOccurs="0" ref="designerImages"/> |
|
81 <xsd:element minOccurs="0" ref="attributes"/> |
|
82 <xsd:element minOccurs="0" ref="properties"/> |
|
83 <xsd:element minOccurs="0" maxOccurs="unbounded" ref="extensionProperties"/> |
|
84 <xsd:element minOccurs="0" ref="propertyOverrides"/> |
|
85 <xsd:element minOccurs="0" ref="events"/> |
|
86 <xsd:element minOccurs="0" ref="sourceGen"/> |
|
87 <xsd:element minOccurs="0" ref="sourceMapping"/> |
|
88 <xsd:element minOccurs="0" ref="implementations"/> |
|
89 </xsd:sequence> |
|
90 <xsd:attribute name="qualifiedName" type="xsd:string" use="required"> |
|
91 <xsd:annotation><xsd:documentation>A globally unique name for a component. By convention these use dotted names, such as |
|
92 com.example.MyComponent. Different versions of a component, in different files, can share the same qualified name. These values |
|
93 should not be localized. |
|
94 </xsd:documentation></xsd:annotation> |
|
95 </xsd:attribute> |
|
96 <xsd:attribute name="friendlyName" type="xsd:string" use="required"> |
|
97 <xsd:annotation><xsd:documentation>A short name displayed in the user interface. These values should be localized. |
|
98 </xsd:documentation></xsd:annotation> |
|
99 </xsd:attribute> |
|
100 <xsd:attribute name="instanceNameRoot" type="xsd:string"> |
|
101 <xsd:annotation><xsd:documentation>The root part of the name used in assigned unique names to component instances. For example, |
|
102 if the root is "label" then names will be assigned in sequence "label1", "label2", and so forth. These values should not be localized. |
|
103 </xsd:documentation></xsd:annotation> |
|
104 </xsd:attribute> |
|
105 <xsd:attribute name="version" type="xsd:string"> |
|
106 <xsd:annotation><xsd:documentation>Identifies the version of the component specified by this document. Uses OSGI style version strings, composed |
|
107 of up to 3 integers and a text qualifier, of the form <major version>.<minor version>.<micro version>.<qualifier>. |
|
108 See http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Version.html for further information. |
|
109 </xsd:documentation></xsd:annotation> |
|
110 </xsd:attribute> |
|
111 <xsd:attribute name="baseComponent" type="xsd:string"> |
|
112 <xsd:annotation><xsd:documentation>The fully qualifed name of the base component. The version of the base component |
|
113 cannot be specified, it will be whichever is selected via SDK matching. |
|
114 </xsd:documentation></xsd:annotation> |
|
115 </xsd:attribute> |
|
116 <xsd:attribute name="category" type="xsd:string"> |
|
117 <xsd:annotation><xsd:documentation>Specifies the grouping for the editor's component palette. If this string matches the key |
|
118 of a known group then the localized name is looked up within the Symbian component provider. Otherwise it is treated like a |
|
119 potentially localized string, i.e. if it is %-prefixed a string is looked up in the properties file. |
|
120 </xsd:documentation></xsd:annotation> |
|
121 </xsd:attribute> |
|
122 <xsd:attribute name="abstract" type="xsd:boolean"> |
|
123 <xsd:annotation><xsd:documentation>Specify true to define a component intended to be used as a basis for deriving other components. |
|
124 Abstract components are filtered out of the component palette. |
|
125 </xsd:documentation></xsd:annotation> |
|
126 </xsd:attribute> |
|
127 </xsd:complexType> |
|
128 </xsd:element> |
|
129 |
|
130 <xsd:element name="documentation"> |
|
131 <xsd:annotation> |
|
132 <xsd:documentation>The optional documentation element provides brief description information about the component and a link to more detailed documentation |
|
133 </xsd:documentation> |
|
134 </xsd:annotation> |
|
135 <xsd:complexType> |
|
136 <xsd:sequence> |
|
137 <xsd:element name="information" type="xsd:string"> |
|
138 <xsd:annotation><xsd:documentation>Brief description of the component, shown in a tooltip. This value should be localized. |
|
139 </xsd:documentation></xsd:annotation> |
|
140 </xsd:element> |
|
141 <xsd:element name="helpTopic" type="xsd:string"> |
|
142 <xsd:annotation><xsd:documentation>A link to help information for this component. |
|
143 </xsd:documentation></xsd:annotation> |
|
144 </xsd:element> |
|
145 <xsd:element name="wizardDescription" type="xsd:string"> |
|
146 <xsd:annotation><xsd:documentation>Text displayed in the UI design wizard. Applies only to containers and top-level content. This |
|
147 value should be localized. |
|
148 </xsd:documentation></xsd:annotation> |
|
149 </xsd:element> |
|
150 </xsd:sequence> |
|
151 </xsd:complexType> |
|
152 </xsd:element> |
|
153 |
|
154 <xsd:element name="symbian"> |
|
155 <xsd:annotation> |
|
156 <xsd:documentation>The optional Symbian element provides SDK compatibility information and information about the related |
|
157 C++ classes and resource structures. When this element is omitted the component will be considered incompatible |
|
158 with all Symbian SDKs. |
|
159 </xsd:documentation> |
|
160 </xsd:annotation> |
|
161 <xsd:complexType> |
|
162 <xsd:attribute name="sdkName" use="required"> |
|
163 <xsd:annotation><xsd:documentation>This value identifies the Symbian OS variant with which the component is compatible. |
|
164 Currently the only supported value is "com.nokia.serie60". |
|
165 </xsd:documentation></xsd:annotation> |
|
166 </xsd:attribute> |
|
167 <xsd:attribute name="minSDKVersion" type="xsd:string" use="required"> |
|
168 <xsd:annotation><xsd:documentation>A version number indicating the lowest SDK version with which the component is |
|
169 compatible. For example, if the value is 2.8 the component will be selected for use with a 2.8 SDK but not 2.6. |
|
170 Uses OSGI style version strings, composed of up to 3 integers and a text qualifier, of the form <major version>.<minor version>.<micro version>.<qualifier>. |
|
171 See http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Version.html for further information. |
|
172 </xsd:documentation></xsd:annotation> |
|
173 </xsd:attribute> |
|
174 <xsd:attribute name="maxSDKVersion" type="xsd:string"> |
|
175 <xsd:annotation><xsd:documentation>A version number indicating the maximum SDK version with which the component is |
|
176 compatible. For example, if the value is 2.8 the component will be selected for use with a 2.8 SDK but not 3.0. |
|
177 Uses OSGI style version strings, composed of up to 3 integers and a text qualifier, of the form <major version>.<minor version>.<micro version>.<qualifier>. |
|
178 See http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Version.html for further information. |
|
179 </xsd:documentation></xsd:annotation> |
|
180 </xsd:attribute> |
|
181 <xsd:attribute name="className" type="xsd:string"> |
|
182 <xsd:annotation><xsd:documentation>The C++ class name corresponding to this component, if any. Not used for source code generation, |
|
183 but is displayed in the component palette. |
|
184 </xsd:documentation></xsd:annotation> |
|
185 </xsd:attribute> |
|
186 <xsd:attribute name="classHelpTopic" type="xsd:string"> |
|
187 <xsd:annotation><xsd:documentation>A link to help information for this C++ class |
|
188 </xsd:documentation></xsd:annotation> |
|
189 </xsd:attribute> |
|
190 <xsd:attribute name="resourceType" type="xsd:string"> |
|
191 <xsd:annotation><xsd:documentation>The Symbian RSS resource type for this component, if any |
|
192 </xsd:documentation></xsd:annotation> |
|
193 </xsd:attribute> |
|
194 <xsd:attribute name="resourceHelpTopic" type="xsd:string"> |
|
195 <xsd:annotation><xsd:documentation>A link to help information for the resource |
|
196 </xsd:documentation></xsd:annotation> |
|
197 </xsd:attribute> |
|
198 </xsd:complexType> |
|
199 </xsd:element> |
|
200 <xsd:element name="designerImages"> |
|
201 <xsd:annotation><xsd:documentation>This element is specifies images for use by the UI designer. Only those images that apply need to be defined, e.g. |
|
202 if a component never appears in the UI design wizard or palette then it doesn't need those images. |
|
203 </xsd:documentation></xsd:annotation> |
|
204 <xsd:complexType> |
|
205 <xsd:attribute name="smallIconFile" type="xsd:string"> |
|
206 <xsd:annotation><xsd:documentation>A relative path to an Eclipse-supported image type, such as PNG, GIF, or BMP. This image is displayed in the outline. |
|
207 </xsd:documentation></xsd:annotation> |
|
208 </xsd:attribute> |
|
209 <xsd:attribute name="largeIconFile" type="xsd:string">A relative path to an Eclipse-supported image type, such as PNG, GIF, or BMP. This image is displayed in the component palette. |
|
210 <xsd:annotation><xsd:documentation> |
|
211 </xsd:documentation></xsd:annotation> |
|
212 </xsd:attribute> |
|
213 <xsd:attribute name="layoutImageFile" type="xsd:string">A relative path to an Eclipse-supported image type, such as PNG, GIF, or BMP. This image is displayed in the UI design wizard. |
|
214 <xsd:annotation><xsd:documentation> |
|
215 </xsd:documentation></xsd:annotation> |
|
216 </xsd:attribute> |
|
217 <xsd:attribute name="thumbnailFile" type="xsd:string"> |
|
218 <xsd:annotation><xsd:documentation>A relative path to an Eclipse-supported image type, such as PNG, GIF, or BMP. This image is displayed in UI designer's graphical |
|
219 layout area if the component does not provide rendering code. |
|
220 </xsd:documentation></xsd:annotation> |
|
221 </xsd:attribute> |
|
222 </xsd:complexType> |
|
223 </xsd:element> |
|
224 |
|
225 <xsd:element name="attributes"> |
|
226 <xsd:annotation> |
|
227 <xsd:documentation> |
|
228 Attribute elements can hold any static character data that is common to all instances of a component. Attributes are inherited from their base components. |
|
229 </xsd:documentation> |
|
230 </xsd:annotation> |
|
231 <xsd:complexType> |
|
232 <xsd:sequence> |
|
233 <xsd:element maxOccurs="unbounded" ref="attribute"/> |
|
234 </xsd:sequence> |
|
235 </xsd:complexType> |
|
236 </xsd:element> |
|
237 <xsd:element name="attribute"> |
|
238 <xsd:complexType> |
|
239 <xsd:simpleContent> |
|
240 <xsd:extension base="xsd:string"> |
|
241 <xsd:attribute name="key" type="xsd:string" use="required"> |
|
242 <xsd:annotation><xsd:documentation> |
|
243 </xsd:documentation></xsd:annotation> |
|
244 </xsd:attribute> |
|
245 </xsd:extension> |
|
246 </xsd:simpleContent> |
|
247 </xsd:complexType> |
|
248 </xsd:element> |
|
249 |
|
250 <xsd:element name="properties"> |
|
251 <xsd:annotation><xsd:documentation>The list of properties defined for this component. Components also inherit the properties of their base |
|
252 components, and can have properties added dynamically, see extensionProperties. |
|
253 </xsd:documentation></xsd:annotation> |
|
254 <xsd:complexType> |
|
255 <xsd:sequence> |
|
256 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="abstractProperty"/> |
|
257 </xsd:sequence> |
|
258 </xsd:complexType> |
|
259 </xsd:element> |
|
260 |
|
261 <xsd:element name="extensionProperties"> |
|
262 <xsd:annotation><xsd:documentation>Extension properties may be dynamically added, based on the state of an instance of this |
|
263 component, its container, or other objects. There may be more than one set of extension properties defined in a component. |
|
264 See the com.nokia.sdt.datamodel.adapter.IPropertyExtenders interface. |
|
265 </xsd:documentation></xsd:annotation> |
|
266 <xsd:complexType> |
|
267 <xsd:sequence> |
|
268 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="abstractProperty"/> |
|
269 </xsd:sequence> |
|
270 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
271 <xsd:annotation><xsd:documentation>The unique name of this extension property set. Used to select properties |
|
272 to add at runtime. |
|
273 </xsd:documentation></xsd:annotation> |
|
274 </xsd:attribute> |
|
275 </xsd:complexType> |
|
276 </xsd:element> |
|
277 <xsd:simpleType name="propertyDataType"> |
|
278 <xsd:annotation><xsd:documentation>Simple, predefined property types. |
|
279 </xsd:documentation></xsd:annotation> |
|
280 <xsd:restriction base="xsd:string"> |
|
281 <xsd:enumeration value="void"> |
|
282 <xsd:annotation><xsd:documentation>The empty type. Do not use for real properties. |
|
283 </xsd:documentation></xsd:annotation> |
|
284 </xsd:enumeration> |
|
285 <xsd:enumeration value="boolean"> |
|
286 <xsd:annotation><xsd:documentation> |
|
287 </xsd:documentation></xsd:annotation>True/False values. |
|
288 </xsd:enumeration> |
|
289 <xsd:enumeration value="integer"> |
|
290 <xsd:annotation><xsd:documentation>Four byte integer properties. Ranges may be constrained on property declarations. |
|
291 </xsd:documentation></xsd:annotation> |
|
292 </xsd:enumeration> |
|
293 <xsd:enumeration value="float"> |
|
294 <xsd:annotation><xsd:documentation>Floating point values. Ranges may be constrained on property declarations. |
|
295 </xsd:documentation></xsd:annotation> |
|
296 </xsd:enumeration> |
|
297 <xsd:enumeration value="string"> |
|
298 <xsd:annotation><xsd:documentation>Non-localized string literals |
|
299 </xsd:documentation></xsd:annotation> |
|
300 </xsd:enumeration> |
|
301 <xsd:enumeration value="localizedString"> |
|
302 <xsd:annotation><xsd:documentation>Localized string literals. Users may enter different values for each language. |
|
303 </xsd:documentation></xsd:annotation> |
|
304 </xsd:enumeration> |
|
305 <xsd:enumeration value="uniqueName"> |
|
306 <xsd:annotation><xsd:documentation>Unique, non-localized string. Values are forced to be unique across the data model. |
|
307 </xsd:documentation></xsd:annotation> |
|
308 </xsd:enumeration> |
|
309 </xsd:restriction> |
|
310 </xsd:simpleType> |
|
311 |
|
312 <xsd:element abstract="true" name="abstractProperty" type="abstractPropertyType"/> |
|
313 <xsd:element name="property" substitutionGroup="abstractProperty" type="simplePropertyType"/> |
|
314 <xsd:element name="compoundProperty" substitutionGroup="abstractProperty" type="compoundPropertyType"/> |
|
315 <xsd:element name="enumProperty" substitutionGroup="abstractProperty" type="enumPropertyType"/> |
|
316 <xsd:element name="arrayProperty" substitutionGroup="abstractProperty" type="arrayPropertyType"/> |
|
317 <xsd:element name="componentReferenceProperty" substitutionGroup="abstractProperty" type="componentReferencePropertyType"/> |
|
318 <xsd:complexType name="abstractPropertyType"> |
|
319 <xsd:annotation><xsd:documentation>A base schema type for further property type declarations. Not used directly in components. |
|
320 </xsd:documentation></xsd:annotation> |
|
321 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
322 <xsd:annotation><xsd:documentation>The internal name for the property. It must be unique within the component and its base |
|
323 components. Since it may be used as an identifier in scripts it should be a legal JavaScript identifier. |
|
324 </xsd:documentation></xsd:annotation> |
|
325 </xsd:attribute> |
|
326 <xsd:attribute name="displayName" type="xsd:string"> |
|
327 <xsd:annotation><xsd:documentation>The property name to be display in the user interface. Can contain spaces and other characters. |
|
328 This value should be localized. |
|
329 </xsd:documentation></xsd:annotation> |
|
330 </xsd:attribute> |
|
331 <xsd:attribute name="category" type="xsd:string"> |
|
332 <xsd:annotation><xsd:documentation>The category grouping to be used in the property sheet. |
|
333 If this value matches the key of a known group then the localized name is looked up within the Symbian component provider. Otherwise it is treated like a |
|
334 potentially localized string, i.e. if it is %-prefixed a string is looked up in the properties file. |
|
335 The special value of "hidden" will cause the property to be filtered from the property sheet. |
|
336 </xsd:documentation></xsd:annotation> |
|
337 </xsd:attribute> |
|
338 <xsd:attribute default="false" name="readOnly" type="xsd:boolean"> |
|
339 <xsd:annotation><xsd:documentation>If true the property will be read-only in the property sheet. |
|
340 </xsd:documentation></xsd:annotation> |
|
341 </xsd:attribute> |
|
342 <xsd:attribute default="true" name="resettable" type="xsd:boolean"> |
|
343 <xsd:annotation><xsd:documentation>If false the reset button will be disabled, inhibiting the user from reverting to the default value |
|
344 </xsd:documentation></xsd:annotation> |
|
345 </xsd:attribute> |
|
346 <xsd:attribute name="descriptionKey" type="xsd:string"> |
|
347 <xsd:annotation><xsd:documentation>A property key to descriptive text for the property to be displayed in the status bar |
|
348 when the property is selected in the property sheet. |
|
349 </xsd:documentation></xsd:annotation> |
|
350 </xsd:attribute> |
|
351 <xsd:attribute name="helpKey" type="xsd:string"> |
|
352 <xsd:annotation><xsd:documentation>A key to more detailed help for the property. |
|
353 </xsd:documentation></xsd:annotation> |
|
354 </xsd:attribute> |
|
355 <xsd:attribute name="editorClass" type="xsd:string"> |
|
356 <xsd:annotation><xsd:documentation>The fully qualified name of a class implementing com.nokia.sdt.component.property.IPropertyEditorFactory. |
|
357 This allows Java code to provide a label provider, cell editor, and validator for the property. |
|
358 </xsd:documentation></xsd:annotation> |
|
359 </xsd:attribute> |
|
360 </xsd:complexType> |
|
361 |
|
362 <xsd:complexType name="simplePropertyType"> |
|
363 <xsd:annotation><xsd:documentation>Concrete type used for basic properties. |
|
364 </xsd:documentation></xsd:annotation> |
|
365 <xsd:complexContent> |
|
366 <xsd:extension base="abstractPropertyType"> |
|
367 <xsd:attribute name="type" type="propertyDataType" use="required"> |
|
368 <xsd:annotation><xsd:documentation>Selects the data type of the property. |
|
369 </xsd:documentation></xsd:annotation> |
|
370 </xsd:attribute> |
|
371 <xsd:attribute name="default" type="xsd:string"> |
|
372 <xsd:annotation><xsd:documentation>A default value for the property. Must be a string convertible to the |
|
373 particular property type. |
|
374 </xsd:documentation></xsd:annotation> |
|
375 </xsd:attribute> |
|
376 <xsd:attribute name="minValue" type="xsd:string"> |
|
377 <xsd:annotation><xsd:documentation>Optional minimum value constraint. Applies only to integers and floats. |
|
378 </xsd:documentation></xsd:annotation> |
|
379 </xsd:attribute> |
|
380 <xsd:attribute name="maxValue" type="xsd:string"> |
|
381 <xsd:annotation><xsd:documentation>Optional maximum value constraint. Applies only to integers and floats. |
|
382 </xsd:documentation></xsd:annotation> |
|
383 </xsd:attribute> |
|
384 <xsd:attribute name="extendWithEnum" type="xsd:string"> |
|
385 <xsd:annotation><xsd:documentation>Optional extension of the enum with the enums provided by an enimPropertyDeclaration. |
|
386 If the value of the property matches any in an extension enumProperty's 'value' attribute, the 'displayValue' will be shown |
|
387 as the current value in the property sheet. Additionally, the editor for the value (if not overridden with |
|
388 a custom editorClass) will be a combo that allows typing in the literal value or selecting one of |
|
389 the extended enums. |
|
390 <p> |
|
391 The 'value' of each of the extending enums must match the type being extended, or else the attempt to set the value |
|
392 to that enum will fail. Note that this means that it is useless to extend booleans (since all extensions |
|
393 must map to 'true' or 'false'). |
|
394 </p> |
|
395 </xsd:documentation></xsd:annotation> |
|
396 </xsd:attribute> |
|
397 |
|
398 </xsd:extension> |
|
399 </xsd:complexContent> |
|
400 </xsd:complexType> |
|
401 |
|
402 <xsd:complexType name="compoundPropertyType"> |
|
403 <xsd:annotation><xsd:documentation>Concrete type used for structured properties. |
|
404 </xsd:documentation></xsd:annotation> |
|
405 <xsd:complexContent> |
|
406 <xsd:extension base="abstractPropertyType"> |
|
407 <xsd:attribute name="type" type="xsd:string" use="required"> |
|
408 <xsd:annotation><xsd:documentation>The fully qualified name of the compound property type declaration. It can be |
|
409 any type accessible from the current or any other component definitions. See compoundPropertyDeclaration for |
|
410 further information. |
|
411 </xsd:documentation></xsd:annotation> |
|
412 </xsd:attribute> |
|
413 <xsd:attribute name="default" type="xsd:string"> |
|
414 <xsd:annotation><xsd:documentation>An optional default value for the property. The compoundPropertyDeclaration must |
|
415 have a converterType specified for this default value to be used. |
|
416 </xsd:documentation></xsd:annotation> |
|
417 </xsd:attribute> |
|
418 </xsd:extension> |
|
419 </xsd:complexContent> |
|
420 </xsd:complexType> |
|
421 |
|
422 <xsd:complexType name="enumPropertyType"> |
|
423 <xsd:annotation><xsd:documentation>Concrete type used for enumerated value properties. |
|
424 </xsd:documentation></xsd:annotation> |
|
425 <xsd:complexContent> |
|
426 <xsd:extension base="abstractPropertyType"> |
|
427 <xsd:attribute name="type" type="xsd:string" use="required"> |
|
428 <xsd:annotation><xsd:documentation>The fully qualifed name of the enumerated property type. See |
|
429 enumPropertyDeclaration. |
|
430 </xsd:documentation></xsd:annotation> |
|
431 </xsd:attribute> |
|
432 <xsd:attribute name="default" type="xsd:string"> |
|
433 <xsd:annotation><xsd:documentation>The default enumerated value, in case it needs to be different from |
|
434 the default declared in the enumeratedPropertyDeclaration. |
|
435 </xsd:documentation></xsd:annotation> |
|
436 </xsd:attribute> |
|
437 <xsd:attribute name="extendWithEnum" type="xsd:string"> |
|
438 <xsd:annotation><xsd:documentation>Optional extension of the simple values with the enums provided by an enimPropertyDeclaration. |
|
439 If the value of the property matches any in an enumProperty's 'value' attribute, the 'displayValue' will be shown |
|
440 as the current value in the property sheet. Additionally, the editor for the value (if not overridden with |
|
441 a custom editorClass) will be a combo that allows typing in the literal value or selecting one of the |
|
442 union of base and extended enums. |
|
443 <p> |
|
444 The extending enum may provide 'value' elements which are different from the base enum (even integers, say), |
|
445 if appropriate. These values are exposed to script, source mapping, and source gen, so ensure that all |
|
446 those clients are prepared to deal with the extra values. |
|
447 </p> |
|
448 </xsd:documentation></xsd:annotation> |
|
449 </xsd:attribute> |
|
450 </xsd:extension> |
|
451 </xsd:complexContent> |
|
452 </xsd:complexType> |
|
453 |
|
454 <xsd:simpleType name="referenceScopeType"> |
|
455 <xsd:annotation><xsd:documentation>Enumeration used for scoping references within the model |
|
456 </xsd:documentation></xsd:annotation> |
|
457 <xsd:restriction base="xsd:string"> |
|
458 <xsd:enumeration value="model"> |
|
459 <xsd:annotation><xsd:documentation>Property can reference any valid instance in the model |
|
460 </xsd:documentation></xsd:annotation> |
|
461 </xsd:enumeration> |
|
462 <xsd:enumeration value="children"> |
|
463 <xsd:annotation><xsd:documentation>Property can reference any children of the referencing instance |
|
464 </xsd:documentation></xsd:annotation>True/False values. |
|
465 </xsd:enumeration> |
|
466 <xsd:enumeration value="siblings"> |
|
467 <xsd:annotation><xsd:documentation>Property can reference any siblings or children of the referencing instance |
|
468 </xsd:documentation></xsd:annotation>True/False values. |
|
469 </xsd:enumeration> |
|
470 </xsd:restriction> |
|
471 </xsd:simpleType> |
|
472 |
|
473 <xsd:complexType name="componentReferencePropertyType"> |
|
474 <xsd:annotation><xsd:documentation>A concrete property type that maintains a reference to a component |
|
475 instance in the same model. The reference is kept by name, and is maintained across renames of the target |
|
476 instance. It is cleared automatically if the target instance is removed. |
|
477 </xsd:documentation></xsd:annotation> |
|
478 <xsd:complexContent> |
|
479 <xsd:extension base="abstractPropertyType"> |
|
480 <xsd:attribute name="scope" type="referenceScopeType" use="required"> |
|
481 <xsd:annotation><xsd:documentation>Enumeration defining the scope for permissable values. |
|
482 </xsd:documentation></xsd:annotation> |
|
483 </xsd:attribute> |
|
484 <xsd:attribute name="constraint" type="xsd:string"> |
|
485 <xsd:annotation><xsd:documentation>If specified, this must be the fully qualified name of a component type. Values |
|
486 are then constrained to be instances of this type, and the property sheet user interface displays a list of eligible |
|
487 instances. |
|
488 </xsd:documentation></xsd:annotation> |
|
489 </xsd:attribute> |
|
490 <xsd:attribute name="creationKeys" type="xsd:string"> |
|
491 <xsd:annotation><xsd:documentation>An optional comma-delimited string containing a list of keys. When |
|
492 present these keys are used to add "create new xxx" items to the dropdown menu for the property, in addition to |
|
493 the "None" and existing instances populated into the menu. A component using this feature must also provide |
|
494 an ISetValueCommandExtender implementation to handle the creation of these items. |
|
495 Each key is used for two purposes: |
|
496 - As a resource key for the dropdown menu item. The resource string should be the full command, e.g. "Create new Foo". |
|
497 - When selected, the key is provided as a parameter to a com.nokia.sdt.component.NewComponentReferenceParameter instance. |
|
498 This instance is then available from the SetValueCommand passed to ISetValueCommandExtender.getExtendedCommand. |
|
499 The implementation should retrieve the key, and return a Command object that will create the appropriate new instance |
|
500 and set the target value to the new instance. |
|
501 </xsd:documentation></xsd:annotation> |
|
502 </xsd:attribute> |
|
503 <xsd:attribute name="promoteReferenceProperties" type="xsd:boolean"> |
|
504 <xsd:annotation><xsd:documentation>If specified, the properties of the instance referenced by this property are promoted |
|
505 into this property source, excluding the 'name' property and other properties that already exist in this component. |
|
506 This property and the referenced component instance's properties will be at the same level. |
|
507 </xsd:documentation></xsd:annotation> |
|
508 </xsd:attribute> |
|
509 </xsd:extension> |
|
510 </xsd:complexContent> |
|
511 </xsd:complexType> |
|
512 |
|
513 <xsd:complexType name="arrayPropertyType"> |
|
514 <xsd:annotation><xsd:documentation>A concrete property type that is a dynamic array of property values. All values |
|
515 are of the same type, which can be either a simple or compound property type. |
|
516 </xsd:documentation></xsd:annotation> |
|
517 <xsd:complexContent> |
|
518 <xsd:extension base="abstractPropertyType"> |
|
519 <xsd:attribute name="type" type="xsd:string" use="required"> |
|
520 <xsd:annotation><xsd:documentation>The element type. It must be either a propertyDataType value, such as "integer" |
|
521 or "localizedString", or the fully qualified name of a compound property type. |
|
522 </xsd:documentation></xsd:annotation> |
|
523 </xsd:attribute> |
|
524 </xsd:extension> |
|
525 </xsd:complexContent> |
|
526 </xsd:complexType> |
|
527 |
|
528 <xsd:element name="compoundPropertyDeclaration"> |
|
529 <xsd:annotation><xsd:documentation> |
|
530 Declares a compound type that may be referenced from one or more |
|
531 compound property declarations in this or other component documents. All compound property declarations are in a global |
|
532 namespace and must be declared as global elements. |
|
533 </xsd:documentation></xsd:annotation> |
|
534 <xsd:complexType> |
|
535 <xsd:sequence> |
|
536 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="abstractProperty"> |
|
537 <xsd:annotation><xsd:documentation>Any property type may be used here, i.e. simple, compound, array, reference. |
|
538 </xsd:documentation></xsd:annotation> |
|
539 </xsd:element> |
|
540 |
|
541 <xsd:element maxOccurs="1" minOccurs="0" ref="sourceTypeMapping"> |
|
542 <xsd:annotation><xsd:documentation> |
|
543 This element provides source mapping for the type, for use by |
|
544 map*FromType elements. Added post 1.2. |
|
545 </xsd:documentation></xsd:annotation> |
|
546 </xsd:element> |
|
547 |
|
548 </xsd:sequence> |
|
549 <xsd:attribute name="qualifiedName" type="xsd:string" use="required"> |
|
550 <xsd:annotation><xsd:documentation>A globally unique name for the property. By convention this is a dotted name, e.g. |
|
551 com.example.MyPropertyType. This identifier is used in compound property declarations. |
|
552 </xsd:documentation></xsd:annotation> |
|
553 </xsd:attribute> |
|
554 <xsd:attribute default="" name="editableType" type="xsd:string"> |
|
555 <xsd:annotation><xsd:documentation>The property type of the editable value. In addition to editing each |
|
556 child value, the user may be able to edit the property as a whole. For example, an RGB color value may be |
|
557 editable as a string. This value can be a propertyDataType value such as "integer" or "string", or can be |
|
558 the name of an enumPropertyDeclaration. |
|
559 </xsd:documentation></xsd:annotation> |
|
560 </xsd:attribute> |
|
561 <xsd:attribute name="converterClass" type="xsd:string"> |
|
562 <xsd:annotation><xsd:documentation>If specified, this must be the fully qualified name of an implementation of |
|
563 com.nokia.sdt.component.property.ICompoundPropertyValueConverter. It is used to convert back and forth between |
|
564 the editable value and the compound value. The editable value is a single value, display as the parent value in the |
|
565 property sheet and used with cell editors. |
|
566 </xsd:documentation></xsd:annotation> |
|
567 </xsd:attribute> |
|
568 <xsd:attribute name="editorClass" type="xsd:string"> |
|
569 <xsd:annotation><xsd:documentation>The fully qualified name of a class implementing |
|
570 com.nokia.sdt.component.property.IPropertyEditorFactory. |
|
571 This allows Java code to provide a label provider, cell editor, and validator for the property. |
|
572 Specify a factory class here provides a default for all compound properties of this type. The factory |
|
573 may be overriden by a compound property declaration |
|
574 </xsd:documentation></xsd:annotation> |
|
575 </xsd:attribute> |
|
576 </xsd:complexType> |
|
577 </xsd:element> |
|
578 |
|
579 <xsd:element name="enumPropertyDeclaration"> |
|
580 <xsd:annotation><xsd:documentation> |
|
581 Declares an enumerated type that may be referenced from one or more |
|
582 enumerated property declarations in this or other component documents. All enum property declarations are in a global |
|
583 namespace and must be declared as global elements. |
|
584 </xsd:documentation></xsd:annotation> |
|
585 <xsd:complexType> |
|
586 <xsd:sequence> |
|
587 <xsd:element maxOccurs="unbounded" name="enumElement"> |
|
588 <xsd:annotation><xsd:documentation>This sequence is the list of values comprising the enumerated type. Each |
|
589 value consists of an internal string value and a displayable string value. |
|
590 </xsd:documentation></xsd:annotation> |
|
591 <xsd:complexType> |
|
592 <xsd:attribute name="value" use="required"> |
|
593 <xsd:annotation><xsd:documentation>The internal value, which is not localizable. |
|
594 </xsd:documentation></xsd:annotation> |
|
595 </xsd:attribute> |
|
596 <xsd:attribute name="displayValue" use="optional"> |
|
597 <xsd:annotation><xsd:documentation>The displayable value, which should be localized. |
|
598 </xsd:documentation></xsd:annotation> |
|
599 </xsd:attribute> |
|
600 </xsd:complexType> |
|
601 </xsd:element> |
|
602 <xsd:element maxOccurs="1" minOccurs="0" ref="sourceTypeMapping"> |
|
603 <xsd:annotation><xsd:documentation> |
|
604 This element provides source mapping for the type, for use by |
|
605 map*FromType elements. Added post 1.2 |
|
606 </xsd:documentation></xsd:annotation> |
|
607 </xsd:element> |
|
608 </xsd:sequence> |
|
609 <xsd:attribute name="qualifiedName" type="xsd:string" use="required"> |
|
610 <xsd:annotation><xsd:documentation>The globally unique name for this type. By convention this is a dotted name, e.g. com.example.MyEnumType. |
|
611 This value is used in enumPropertyDeclaration. |
|
612 </xsd:documentation></xsd:annotation> |
|
613 </xsd:attribute> |
|
614 <xsd:attribute name="defaultValue" type="xsd:string"> |
|
615 <xsd:annotation><xsd:documentation>A default internal value for the enumeration. It can be overriden in property declarations. |
|
616 </xsd:documentation></xsd:annotation> |
|
617 </xsd:attribute> |
|
618 </xsd:complexType> |
|
619 </xsd:element> |
|
620 |
|
621 <xsd:element name="propertyOverrides"> |
|
622 <xsd:annotation><xsd:documentation>A list of property overrides defined for this component. Components also |
|
623 inherit the property overrides of their base components, with changes applied by the most derived component taking |
|
624 precedence. |
|
625 |
|
626 Property overrides allow certain characteristics of a property to be modified, such as changing a modifiable property |
|
627 to read-only. |
|
628 </xsd:documentation></xsd:annotation> |
|
629 <xsd:complexType> |
|
630 <xsd:sequence> |
|
631 <xsd:element name="propertyOverride" maxOccurs="unbounded" minOccurs="0"> |
|
632 <xsd:complexType> |
|
633 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
634 <xsd:annotation><xsd:documentation>The internal name for the property being overriden. It is legal for |
|
635 this to reference a name that does not exist. This allows overrides of extension properties, which are |
|
636 only conditionaly defined. |
|
637 </xsd:documentation></xsd:annotation> |
|
638 </xsd:attribute> |
|
639 <xsd:attribute name="category" type="xsd:string"> |
|
640 <xsd:annotation><xsd:documentation>Override of the property category. See the description |
|
641 in <abstractPropertyType> |
|
642 </xsd:documentation></xsd:annotation> |
|
643 </xsd:attribute> |
|
644 <xsd:attribute name="readOnly" type="xsd:boolean"> |
|
645 <xsd:annotation><xsd:documentation>Override of the readOnly state. See the description |
|
646 in <abstractPropertyType> |
|
647 </xsd:documentation></xsd:annotation> |
|
648 </xsd:attribute> |
|
649 <xsd:attribute name="default" type="xsd:string"> |
|
650 <xsd:annotation><xsd:documentation>Override of the default value. Default values can only |
|
651 be overriden on properties supporting default values, i.e simple properties, enums, and compound |
|
652 properties. See the description in <abstractPropertyType> for more information. |
|
653 </xsd:documentation></xsd:annotation> |
|
654 </xsd:attribute> |
|
655 </xsd:complexType> |
|
656 </xsd:element> |
|
657 </xsd:sequence> |
|
658 </xsd:complexType> |
|
659 </xsd:element> |
|
660 |
|
661 <xsd:element name="events"> |
|
662 <xsd:annotation><xsd:documentation>The list of events defined for this component. Components also inherit the events of |
|
663 their base components. Events are named notifications or hooks to which code can be attached. The data here is |
|
664 used to drive the user interface. The details of source code generation are part of the source code generation templates. |
|
665 |
|
666 The set of available events, and default event, may be overriden via code or script. See the |
|
667 com.nokia.sdt.datamodel.adapter.IComponentEventInfo interface for more information. |
|
668 </xsd:documentation></xsd:annotation> |
|
669 <xsd:complexType> |
|
670 <xsd:sequence> |
|
671 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="event"/> |
|
672 </xsd:sequence> |
|
673 <xsd:attribute name="defaultEventName" type="xsd:string"> |
|
674 <xsd:annotation><xsd:documentation>If defined, the default event will be identified in a component instance's context |
|
675 menu. In the case of inheritance the most derived definition of the default event is used. |
|
676 </xsd:documentation></xsd:annotation> |
|
677 </xsd:attribute> |
|
678 </xsd:complexType> |
|
679 </xsd:element> |
|
680 |
|
681 <xsd:element name="event"> |
|
682 <xsd:annotation><xsd:documentation>The definition of a single event. |
|
683 </xsd:documentation></xsd:annotation> |
|
684 <xsd:complexType> |
|
685 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
686 <xsd:annotation><xsd:documentation>The internal name for the event. This does not need to be a dotted name, but it must |
|
687 be unique within the component and its base components. |
|
688 </xsd:documentation></xsd:annotation> |
|
689 </xsd:attribute> |
|
690 <xsd:attribute name="displayName" type="xsd:string"> |
|
691 <xsd:annotation><xsd:documentation>This displayable name for the event. This value should be localized. |
|
692 </xsd:documentation></xsd:annotation> |
|
693 </xsd:attribute> |
|
694 <xsd:attribute name="category" type="xsd:string"> |
|
695 <xsd:annotation><xsd:documentation>Categories are used for grouping events in the Events view. As with property categories, |
|
696 this can be a key to a category localized by the component provider, or it can be a pre-localized or literal string. |
|
697 </xsd:documentation></xsd:annotation> |
|
698 </xsd:attribute> |
|
699 <xsd:attribute name="descriptionKey" type="xsd:string"> |
|
700 <xsd:annotation><xsd:documentation>A key for descriptive information about the event. |
|
701 </xsd:documentation></xsd:annotation> |
|
702 </xsd:attribute> |
|
703 <xsd:attribute name="helpKey" type="xsd:string"> |
|
704 <xsd:annotation><xsd:documentation>A help topic for online help for the event. |
|
705 </xsd:documentation></xsd:annotation> |
|
706 </xsd:attribute> |
|
707 <xsd:attribute name="handlerNameTemplate" type="xsd:string" use="required"> |
|
708 <xsd:annotation><xsd:documentation>A template which is expanded to the proposed default name for the |
|
709 event handler function. An example of such a template is "Handle{title(name)}StateChangedL". |
|
710 The {} marks template variables. A variable may contain a simple property value, but generally only the 'name' property |
|
711 should be used. The pseudo-functions "lower", "upper", and "title" may be used to transform the property value. |
|
712 </xsd:documentation></xsd:annotation> |
|
713 </xsd:attribute> |
|
714 <xsd:attribute name="group" type="xsd:string"> |
|
715 <xsd:annotation><xsd:documentation>This is a grouping, separate from categories, used in event filtering. Events |
|
716 may only make sense for specific containers. The interface com.nokia.sdt.datamodel.adapter.IComponentEventInfo is |
|
717 used to filter applicable events from the complete set of declared events. When deriving from an existing base |
|
718 component it is not generally necessary to implement this interface. Instead, just use the groups defined by |
|
719 the base component in your own events. For example to make events visible in a CCoeControl container, The CCoeControlBase |
|
720 component uses the filter group "Control". |
|
721 </xsd:documentation></xsd:annotation> |
|
722 </xsd:attribute> |
|
723 </xsd:complexType> |
|
724 </xsd:element> |
|
725 |
|
726 <xsd:element name="implementations"> |
|
727 <xsd:annotation> |
|
728 <xsd:documentation>Implementation elements declare code or script implementations of interfaces by name. |
|
729 </xsd:documentation> |
|
730 </xsd:annotation> |
|
731 <xsd:complexType> |
|
732 <xsd:sequence> |
|
733 <xsd:element maxOccurs="unbounded" ref="implementation"/> |
|
734 </xsd:sequence> |
|
735 </xsd:complexType> |
|
736 </xsd:element> |
|
737 <xsd:element name="implementation"> |
|
738 <xsd:complexType> |
|
739 <xsd:sequence> |
|
740 <xsd:sequence> |
|
741 <xsd:element maxOccurs="unbounded" name="interface"> |
|
742 <xsd:complexType> |
|
743 <xsd:attribute name="id" type="xsd:string" use="required"/> |
|
744 </xsd:complexType> |
|
745 </xsd:element> |
|
746 </xsd:sequence> |
|
747 <xsd:choice> |
|
748 <xsd:element ref="code"/> |
|
749 <xsd:element ref="script"/> |
|
750 </xsd:choice> |
|
751 </xsd:sequence> |
|
752 </xsd:complexType> |
|
753 </xsd:element> |
|
754 <xsd:element name="code"> |
|
755 <xsd:annotation><xsd:documentation> |
|
756 Define a reference to an interface implemented in Java. |
|
757 </xsd:documentation></xsd:annotation> |
|
758 <xsd:complexType> |
|
759 <xsd:attribute name="plugin" type="xsd:string" use="optional"> |
|
760 <xsd:annotation><xsd:documentation> |
|
761 Plugin id |
|
762 </xsd:documentation></xsd:annotation> |
|
763 </xsd:attribute> |
|
764 |
|
765 <xsd:attribute name="class" type="xsd:string" use="required"> |
|
766 <xsd:annotation><xsd:documentation> |
|
767 Class in plugin. |
|
768 </xsd:documentation></xsd:annotation> |
|
769 </xsd:attribute> |
|
770 </xsd:complexType> |
|
771 </xsd:element> |
|
772 <xsd:element name="script"> |
|
773 <xsd:annotation><xsd:documentation> |
|
774 Define a reference to an interface implemented in Javascript. |
|
775 </xsd:documentation></xsd:annotation> |
|
776 <xsd:complexType> |
|
777 <xsd:attribute name="file" type="xsd:string" use="required"/> |
|
778 <xsd:attribute name="prototype" type="xsd:string" use="required"/> |
|
779 </xsd:complexType> |
|
780 </xsd:element> |
|
781 <xsd:element name="sourceGen"> |
|
782 <xsd:annotation><xsd:documentation> |
|
783 This section controls C/C++ source generation (with the potential to support |
|
784 other one-way languages). In a sourceGen element, all the elements in linear |
|
785 order comprise the component's contributions. |
|
786 |
|
787 Conditional sourcegen is implemented by using the "form" attribute on |
|
788 templates or templateGroups, or explicitly checking the regex "form" in inline code. |
|
789 |
|
790 Another form of conditional sourcegen is event handling code. The "ifEvents" attribute completely filters out defineLocation/template elements if a given event is not bound to an instance. |
|
791 </xsd:documentation></xsd:annotation> |
|
792 <xsd:complexType> |
|
793 <xsd:sequence> |
|
794 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
795 <xsd:element ref="defineLocation"/> |
|
796 <xsd:element ref="template"/> |
|
797 <xsd:element ref="templateGroup"/> |
|
798 <xsd:element ref="useTemplate"/> |
|
799 <xsd:element ref="useTemplateGroup"/> |
|
800 <xsd:element ref="inline"/> |
|
801 <xsd:element ref="script"/> |
|
802 <xsd:element ref="defineMacro"/> |
|
803 <xsd:element ref="expandMacro"/> |
|
804 </xsd:choice> |
|
805 </xsd:sequence> |
|
806 <!-- IGNORED --> |
|
807 <xsd:attribute name="forms" type="xsd:string" use="optional"/> |
|
808 <xsd:attribute default="false" name="debug" type="xsd:boolean" use="optional"/> |
|
809 </xsd:complexType> |
|
810 </xsd:element> |
|
811 |
|
812 <xsd:simpleType name="listOfStrings"> |
|
813 <xsd:list itemType="xsd:string"/> |
|
814 </xsd:simpleType> |
|
815 |
|
816 <xsd:attributeGroup name="ConditionalSourceGenAttributes"> |
|
817 <xsd:annotation><xsd:documentation> |
|
818 Base for sourcegen elements which may be conditionally skipped. |
|
819 Such skipping applies to the save-time behavior and not |
|
820 the load-time or validation-time behavior. |
|
821 </xsd:documentation></xsd:annotation> |
|
822 <xsd:attribute name="forms" type="listOfStrings" use="optional"> |
|
823 <xsd:annotation><xsd:documentation> |
|
824 Added post 1.1 to inline. |
|
825 |
|
826 A list of tokens used to select a particular kind of source for a parent. |
|
827 The namespace is determined implicitly by what a parent requests. |
|
828 |
|
829 For instance, a parent may have special sourcegen, and pass |
|
830 the form "SpecialCase" to its children. Elements specifying |
|
831 form="SpecialCase" will be selected. Other parents will not see |
|
832 such elements if they do not specify that form. |
|
833 |
|
834 If the form does not match, the element is not invoked. |
|
835 </xsd:documentation></xsd:annotation> |
|
836 </xsd:attribute> |
|
837 <xsd:attribute name="ifEvents" type="listOfStrings" use="optional"> |
|
838 <xsd:annotation><xsd:documentation> |
|
839 Added post 1.1 to inline. |
|
840 If defined, a list of events, any of which must be bound for the |
|
841 element to be invoked. |
|
842 </xsd:documentation></xsd:annotation> |
|
843 </xsd:attribute> |
|
844 <xsd:attribute name="ifExpr" type="xsd:string" use="optional"> |
|
845 <xsd:annotation><xsd:documentation> |
|
846 Added post 1.1. |
|
847 If defined, a Javascript expression which must evaluate to |
|
848 true (or non-zero) for the element to be invoked. |
|
849 </xsd:documentation></xsd:annotation> |
|
850 </xsd:attribute> |
|
851 </xsd:attributeGroup> |
|
852 |
|
853 <xsd:complexType name="ConditionalSourceGen" abstract="true"> |
|
854 <xsd:attributeGroup ref="ConditionalSourceGenAttributes"/> |
|
855 </xsd:complexType> |
|
856 |
|
857 <!-- I'm really annoyed schema doesn't support multiple inheritance. |
|
858 ConditionalSourceGenString should be an extension |
|
859 of ConditionalSourceGen too. --> |
|
860 <xsd:complexType name="ConditionalSourceGenString" abstract="true"> |
|
861 <xsd:annotation><xsd:documentation> |
|
862 Base for sourcegen elements which may be conditionally skipped |
|
863 (and which contain text). |
|
864 Such skipping applies to the save-time behavior and not |
|
865 the load-time or validation-time behavior. |
|
866 </xsd:documentation></xsd:annotation> |
|
867 <xsd:simpleContent> |
|
868 <xsd:extension base="xsd:string"> |
|
869 <xsd:attributeGroup ref="ConditionalSourceGenAttributes"/> |
|
870 </xsd:extension> |
|
871 </xsd:simpleContent> |
|
872 </xsd:complexType> |
|
873 |
|
874 <xsd:element name="inline"> |
|
875 <xsd:annotation><xsd:documentation> |
|
876 Provide Javascript in-line with templates and other sourceGen elements. |
|
877 Be sure to supply a "forms" attribute, otherwise the code may execute multiple times |
|
878 during the source generation contribution-gathering phase. |
|
879 </xsd:documentation></xsd:annotation> |
|
880 <xsd:complexType> |
|
881 <xsd:simpleContent> |
|
882 <xsd:extension base="ConditionalSourceGenString"> |
|
883 <xsd:attribute default="function" name="scope" type="xsd:string" use="optional"> |
|
884 <xsd:annotation><xsd:documentation> |
|
885 Tells where the inline code appears. By default, it appears |
|
886 in the primary function into which templates are generated, thus is |
|
887 executed in line with them. |
|
888 |
|
889 Specifying "file" or "prototype" means the content is intended to modify the |
|
890 Javascript prototype, thus it is placed at the top level of the file. |
|
891 ${jsObject}.prototype may be used to access the prototype. |
|
892 |
|
893 Note: include() and includeFrom() calls should be placed in the prototype scope, |
|
894 or their contents will not be visible to derived components. |
|
895 |
|
896 Added post 1.1: "file" is a synonym for "prototype". |
|
897 </xsd:documentation></xsd:annotation> |
|
898 </xsd:attribute> |
|
899 <xsd:attribute name="id" type="xsd:string" use="optional"> |
|
900 <xsd:annotation><xsd:documentation> |
|
901 Added post 1.1: the identifier for the inline section, |
|
902 which makes it inheritable. Inline sections are inherited as templates, |
|
903 accessible with "useTemplate" of the same id. |
|
904 If unspecified, a default id is assigned. Use a blank id to avoid inheriting. |
|
905 </xsd:documentation></xsd:annotation> |
|
906 </xsd:attribute> |
|
907 </xsd:extension> |
|
908 </xsd:simpleContent> |
|
909 </xsd:complexType> |
|
910 </xsd:element> |
|
911 |
|
912 <xsd:element name="defineLocation"> |
|
913 <xsd:annotation><xsd:documentation> |
|
914 This element defines a location in source, such as a function in the main |
|
915 file or a region of text in a class declaration. |
|
916 This is a slight misnomer as this element does not by its presence realize |
|
917 the location. Only when a contribution references |
|
918 location id (or post 1.1: when realize="true" is used) |
|
919 will the location be added to source. |
|
920 </xsd:documentation></xsd:annotation> |
|
921 <xsd:complexType> |
|
922 <xsd:sequence> |
|
923 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
924 <xsd:element ref="template"/> |
|
925 <xsd:element ref="inline"/> |
|
926 <xsd:element ref="script"/> |
|
927 <xsd:element ref="expandMacro"/> |
|
928 </xsd:choice> |
|
929 </xsd:sequence> |
|
930 <xsd:attribute name="baseLocation" type="xsd:string" use="optional"> |
|
931 <xsd:annotation><xsd:documentation> |
|
932 If defined, the location id this location lives inside. (E.g. a class inside a file, |
|
933 an enum declaration inside a class, etc.) |
|
934 </xsd:documentation></xsd:annotation> |
|
935 </xsd:attribute> |
|
936 <xsd:attribute name="domain" type="xsd:string" use="optional"> |
|
937 <xsd:annotation><xsd:documentation> |
|
938 The source domain which controls how locations are interpreted and instantiated. |
|
939 Only "cpp" is supported currently. |
|
940 </xsd:documentation></xsd:annotation> |
|
941 </xsd:attribute> |
|
942 <xsd:attribute name="id" type="xsd:string" use="required"> |
|
943 <xsd:annotation><xsd:documentation> |
|
944 The location identifier. This must be unique in a component. A derived component |
|
945 may redefine a location. |
|
946 </xsd:documentation></xsd:annotation> |
|
947 </xsd:attribute> |
|
948 <xsd:attribute name="dir" type="xsd:string" use="optional"> |
|
949 <xsd:annotation><xsd:documentation> |
|
950 For a top-level location, where baseLocation is null, this is a |
|
951 template-expanded reference to the project-relative directory to |
|
952 use. Predefined variables ${src}, ${inc}, ${resource}, ${build} |
|
953 are provided. |
|
954 </xsd:documentation></xsd:annotation> |
|
955 </xsd:attribute> |
|
956 <xsd:attribute name="file" type="xsd:string" use="optional"> |
|
957 <xsd:annotation><xsd:documentation> |
|
958 For a top-level location, where baseLocation is null, this is a |
|
959 template-expanded filename relative to the directory specified by "dir". |
|
960 </xsd:documentation></xsd:annotation> |
|
961 </xsd:attribute> |
|
962 <xsd:attribute name="location" type="xsd:string" use="required"> |
|
963 <xsd:annotation><xsd:documentation> |
|
964 This describes the location relative to its base (use "" for a |
|
965 top-level file location). |
|
966 |
|
967 A location segment in the cpp domain is a string |
|
968 representing a node in a C/C++ parse tree. Each takes the syntax “<name> |
|
969 ‘(‘ <arguments…> ‘)’�?. Certain nodes may only appear within certain |
|
970 others. This list defines top-level nodes: |
|
971 |
|
972 class(<name>): |
|
973 reference the class declaration for the class ‘name’, which may include namespaces (e.g. |
|
974 “class(MyClass)�? or “class(${className})�?) |
|
975 |
|
976 function(<name>(<arguments…)): |
|
977 reference a function with the given signature. ‘name’ may include namespaces |
|
978 or represent a destructor. ‘arguments’ is a comma-separated list of types. |
|
979 This list of arguments is currently not parsed and only the number of |
|
980 arguments matters. The arguments list may end in ellipsis (“…�?) to indicate |
|
981 that any zero or more arguments are matched. Again, the <template> |
|
982 inside a <defineLocation> really defines the function. (E.g. |
|
983 “function(main(int,char**))�? or “function(${className}::method(void*)�?.) |
|
984 |
|
985 region(<name>): |
|
986 a region defines a commented block of text with no other syntactical clues. The |
|
987 block comments and the name are used to identify the block. Thus, names should |
|
988 be unique across a component. (E.g. “region(Generated Includes)�?.) |
|
989 |
|
990 enum(<name>): |
|
991 a enum declaration with the given name. Name must be non-empty (locations are |
|
992 used to look up source, so anonymous enums cannot be unambiguously |
|
993 identified). (E.g. “enum(T${className}Ids)�?.) |
|
994 |
|
995 namespace(<name>): |
|
996 a namespace declaration with the given name, which may contain colons. (E.g. |
|
997 “namespace(std::tr1)�?) |
|
998 |
|
999 to-file(): |
|
1000 resolve to the current file of a location, i.e. get back to the root location. |
|
1001 |
|
1002 Inside a class(), namespace() is not allowed, and this |
|
1003 additional segment is allowed: |
|
1004 |
|
1005 bases(): |
|
1006 references the base-class-list within a class declaration. If the class’ defining text |
|
1007 already includes a base, then the defining text for the bases() location may be |
|
1008 omitted. If a class’ defining text does not include a base, the bases() |
|
1009 location must include the leading colon in its defining text. Otherwise, |
|
1010 contributions are individual class references with leading commas. |
|
1011 |
|
1012 In a function(), only class(), region(), enum(), and to-file() are allowed. |
|
1013 |
|
1014 In an enum(), bases() or region(), only region() and to-file() are allowed. |
|
1015 |
|
1016 |
|
1017 </xsd:documentation></xsd:annotation> |
|
1018 </xsd:attribute> |
|
1019 <xsd:attribute default="true" name="owned" type="xsd:string" use="optional"> |
|
1020 <xsd:annotation><xsd:documentation> |
|
1021 Note: a string for macro use only; must resolve to "true" or "false". |
|
1022 If true, the location is marked generated in source and will be |
|
1023 regenerated from scratch on every save. Otherwise, the location |
|
1024 is generated only when missing. |
|
1025 </xsd:documentation></xsd:annotation> |
|
1026 </xsd:attribute> |
|
1027 <xsd:attribute default="default" name="filter" type="xsd:string" use="optional"> |
|
1028 <xsd:annotation><xsd:documentation> |
|
1029 Defines a filter on contributions added to the location. |
|
1030 Available filters: |
|
1031 * unique-includes (can be applied anywhere, but scans files) |
|
1032 * unique-prototypes (can be applied in "class()" or children, but scans the class) |
|
1033 * unique-bases (can be applied to "bases()" or children, but scans the base class list) |
|
1034 </xsd:documentation></xsd:annotation> |
|
1035 </xsd:attribute> |
|
1036 <xsd:attribute name="isEventHandler" type="xsd:string" use="optional"> |
|
1037 <xsd:annotation><xsd:documentation> |
|
1038 Note: a string for macro use only; must resolve to "true" or "false". |
|
1039 When "ifEvents" is non-empty, this flag tells the designer which particular |
|
1040 function is the user-editable event handler. So this usually is applied |
|
1041 to a function() location. |
|
1042 </xsd:documentation></xsd:annotation> |
|
1043 </xsd:attribute> |
|
1044 <xsd:attribute name="realize" type="xsd:string" use="optional" default="false"> |
|
1045 <xsd:annotation><xsd:documentation> |
|
1046 Added post 1.1. |
|
1047 Note: a string for macro use only; must resolve to "true" or "false". |
|
1048 If true, a template for this location is automatically added when this location is defined. |
|
1049 Otherwise, the location is a placeholder and is not "realized" in actual source unless a template references it. |
|
1050 </xsd:documentation></xsd:annotation> |
|
1051 </xsd:attribute> |
|
1052 <xsd:attribute name="ifEvents" type="listOfStrings" use="optional"> |
|
1053 <xsd:annotation><xsd:documentation> |
|
1054 If defined, a list of events, any of which must be bound for the |
|
1055 location to be declared. Otherwise, its id is not available and |
|
1056 the location is undefined. |
|
1057 </xsd:documentation></xsd:annotation> |
|
1058 </xsd:attribute> |
|
1059 </xsd:complexType> |
|
1060 |
|
1061 </xsd:element> |
|
1062 |
|
1063 |
|
1064 <xsd:element name="template"> |
|
1065 <xsd:annotation><xsd:documentation> |
|
1066 This defines a contribution. The text element is template-expanded |
|
1067 with ${ ... } expression escapes and may contain Javascript in <% ... %> sections. |
|
1068 </xsd:documentation></xsd:annotation> |
|
1069 <xsd:complexType> |
|
1070 <xsd:complexContent> |
|
1071 <xsd:extension base="ConditionalSourceGenString"> |
|
1072 <xsd:attribute name="location" type="xsd:string" use="optional"> |
|
1073 <xsd:annotation><xsd:documentation> |
|
1074 The location id the contribution goes to. May not be specified when "phase" is set. |
|
1075 </xsd:documentation></xsd:annotation> |
|
1076 </xsd:attribute> |
|
1077 |
|
1078 <xsd:attribute name="phase" type="xsd:string" use="optional"> |
|
1079 <xsd:annotation><xsd:documentation> |
|
1080 The phase the contribution goes to. A parent component must realize the |
|
1081 phase into an actual location id. |
|
1082 </xsd:documentation></xsd:annotation> |
|
1083 </xsd:attribute> |
|
1084 <xsd:attribute name="mode" type="xsd:string" use="optional"> |
|
1085 <xsd:annotation><xsd:documentation> |
|
1086 Unused currently. |
|
1087 </xsd:documentation></xsd:annotation> |
|
1088 </xsd:attribute> |
|
1089 <!-- form and forms are the same, semantically --> |
|
1090 |
|
1091 <!-- form is obsolescent, use forms instead --> |
|
1092 <xsd:attribute name="form" type="xsd:string" use="optional"> |
|
1093 <xsd:annotation><xsd:documentation> |
|
1094 A token used to select a particular kind of source for a parent. |
|
1095 The namespace is determined implicitly by what a parent requests. |
|
1096 |
|
1097 For instance, a parent may have special sourcegen, and pass |
|
1098 the form "SpecialCase" to its children. Templates specifying |
|
1099 form="SpecialCase" will be selected. Other parents will not see |
|
1100 such templates if they do not specify that form. |
|
1101 |
|
1102 If the form does not match, the template is not instantiated. |
|
1103 </xsd:documentation></xsd:annotation> |
|
1104 </xsd:attribute> |
|
1105 |
|
1106 <xsd:attribute name="id" type="xsd:string" use="optional"> |
|
1107 <xsd:annotation><xsd:documentation> |
|
1108 Unique id for the template within a component or |
|
1109 within a templateGroup. Ids may be shared for different |
|
1110 forms. Derived components may redefine ids or inherit |
|
1111 templates by id. |
|
1112 Added post 1.1: if the id is unspecified in a templateGroup, |
|
1113 a default id is assigned. To avoid inheriting, supply an empty id. |
|
1114 </xsd:documentation></xsd:annotation> |
|
1115 </xsd:attribute> |
|
1116 </xsd:extension> |
|
1117 </xsd:complexContent> |
|
1118 </xsd:complexType> |
|
1119 </xsd:element> |
|
1120 <xsd:element name="templateGroup"> |
|
1121 <xsd:annotation><xsd:documentation> |
|
1122 A logical grouping of templates and locations. Attributes |
|
1123 present on the group are automatically applied to children. |
|
1124 Groups may not be nested. |
|
1125 </xsd:documentation></xsd:annotation> |
|
1126 <xsd:complexType> |
|
1127 <xsd:complexContent> |
|
1128 <xsd:extension base="ConditionalSourceGen"> |
|
1129 <xsd:sequence> |
|
1130 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
1131 <xsd:element ref="defineLocation"/> |
|
1132 <xsd:element ref="template"/> |
|
1133 <!-- added post 1.1 --> |
|
1134 <xsd:element ref="inline"/> |
|
1135 <!-- added post 1.1 --> |
|
1136 <xsd:element ref="useTemplate"/> |
|
1137 <!-- added post 1.1 --> |
|
1138 <xsd:element ref="useTemplateGroup"/> |
|
1139 <!-- added post 1.1 --> |
|
1140 <xsd:element ref="expandMacro"/> |
|
1141 </xsd:choice> |
|
1142 </xsd:sequence> |
|
1143 <xsd:attribute name="location" type="xsd:string" use="optional"/> |
|
1144 <xsd:attribute name="mode" type="xsd:string" use="optional"/> |
|
1145 <xsd:attribute name="phase" type="xsd:string" use="optional"/> |
|
1146 <xsd:attribute name="id" type="xsd:string" use="optional"/> |
|
1147 <!-- form is obsolescent --> |
|
1148 <xsd:attribute name="form" type="xsd:string" use="optional"/> |
|
1149 </xsd:extension> |
|
1150 </xsd:complexContent> |
|
1151 </xsd:complexType> |
|
1152 </xsd:element> |
|
1153 <xsd:element name="useTemplate"> |
|
1154 <xsd:annotation><xsd:documentation> |
|
1155 In a derived component, selects a template from the base by id. |
|
1156 </xsd:documentation></xsd:annotation> |
|
1157 |
|
1158 <xsd:complexType> |
|
1159 <xsd:attribute name="ids" type="xsd:string" use="required"/> |
|
1160 </xsd:complexType> |
|
1161 </xsd:element> |
|
1162 <xsd:element name="useTemplateGroup"> |
|
1163 <xsd:annotation><xsd:documentation> |
|
1164 In a derived component, selects a template group from the base by id. |
|
1165 If no subelements are specified, all the named templates (those with ids) |
|
1166 are inherited. No templates without ids are inherited. |
|
1167 |
|
1168 If subelements are specified, these describe the specific templates |
|
1169 to inherit from the group. The id "*" may be used to bring in all |
|
1170 named templates. |
|
1171 </xsd:documentation></xsd:annotation> |
|
1172 <xsd:complexType> |
|
1173 <xsd:sequence> |
|
1174 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="useTemplate"/> |
|
1175 </xsd:sequence> |
|
1176 <xsd:attribute name="ids" type="xsd:string" use="required"/> |
|
1177 </xsd:complexType> |
|
1178 </xsd:element> |
|
1179 |
|
1180 <xsd:element name="defineMacro"> |
|
1181 <xsd:annotation><xsd:documentation> |
|
1182 Added post 1.1. |
|
1183 This element defines a macro consisting of a set of templates |
|
1184 and inlines which may be variable-substituted. |
|
1185 |
|
1186 If a given defineMacro imports multiple arguments |
|
1187 of the same name, then they must be explicitly redefined, |
|
1188 to resolve any ambiguities about the default value. |
|
1189 </xsd:documentation></xsd:annotation> |
|
1190 <xsd:complexType> |
|
1191 <xsd:sequence> |
|
1192 <xsd:element ref="importArguments" maxOccurs="unbounded" minOccurs="0"/> |
|
1193 <xsd:element ref="macroArgument" maxOccurs="unbounded" minOccurs="0"/> |
|
1194 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
1195 <xsd:element ref="template"/> |
|
1196 <xsd:element ref="inline"/> |
|
1197 <xsd:element ref="defineLocation"/> |
|
1198 <xsd:element ref="expandMacro"/> |
|
1199 </xsd:choice> |
|
1200 </xsd:sequence> |
|
1201 |
|
1202 <xsd:attribute name="id" type="xsd:string" use="optional"> |
|
1203 <xsd:annotation><xsd:documentation> |
|
1204 Unique id for the macro within a component. |
|
1205 Ids may be shared for different |
|
1206 forms. Derived components inherit macros automatically |
|
1207 but may redefine a macro with the same id. |
|
1208 </xsd:documentation></xsd:annotation> |
|
1209 </xsd:attribute> |
|
1210 |
|
1211 <xsd:attribute name="help" type="xsd:string" use="optional"> |
|
1212 <xsd:annotation><xsd:documentation> |
|
1213 Help/usage text for a documentation generating tool. |
|
1214 </xsd:documentation></xsd:annotation> |
|
1215 </xsd:attribute> |
|
1216 |
|
1217 </xsd:complexType> |
|
1218 </xsd:element> |
|
1219 |
|
1220 <xsd:element name="macroArgument"> |
|
1221 <xsd:annotation><xsd:documentation> |
|
1222 Added post 1.1. |
|
1223 Defines an argument for use with the macro. |
|
1224 The default value may be specified in the 'default' attribute or in the text of the element. |
|
1225 The text supercedes the attribute. |
|
1226 </xsd:documentation></xsd:annotation> |
|
1227 <xsd:complexType> |
|
1228 <xsd:simpleContent> |
|
1229 <xsd:extension base="xsd:string"> |
|
1230 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
1231 <xsd:annotation><xsd:documentation> |
|
1232 The name of the argument. This must be a legal Javascript identifier |
|
1233 and unique within the macro. |
|
1234 </xsd:documentation></xsd:annotation> |
|
1235 </xsd:attribute> |
|
1236 <xsd:attribute name="optional" type="xsd:boolean" use="optional"> |
|
1237 <xsd:annotation><xsd:documentation> |
|
1238 Tells whether the argument may be omitted from an expandMacro use. |
|
1239 If true, and no default is provided, the variable's value is null. |
|
1240 </xsd:documentation></xsd:annotation> |
|
1241 </xsd:attribute> |
|
1242 <xsd:attribute name="default" type="xsd:string" use="optional"> |
|
1243 <xsd:annotation><xsd:documentation> |
|
1244 The default value of the argument if unspecified. Alternately, the |
|
1245 text of this element may be supplied as the default, if formatting |
|
1246 or newlines are used. |
|
1247 </xsd:documentation></xsd:annotation> |
|
1248 </xsd:attribute> |
|
1249 <xsd:attribute name="help" type="xsd:string" use="optional"> |
|
1250 <xsd:annotation><xsd:documentation> |
|
1251 Help/usage text for a documentation generating tool. |
|
1252 </xsd:documentation></xsd:annotation> |
|
1253 </xsd:attribute> |
|
1254 </xsd:extension> |
|
1255 </xsd:simpleContent> |
|
1256 </xsd:complexType> |
|
1257 </xsd:element> |
|
1258 |
|
1259 <xsd:element name="importArguments"> |
|
1260 <xsd:annotation><xsd:documentation> |
|
1261 Added post 1.1. |
|
1262 This element specifies that a list of arguments (name, type, defaults, |
|
1263 optional flags) will be imported from another macro. |
|
1264 If this element is omitted, then all the arguments from the macro |
|
1265 are imported. |
|
1266 </xsd:documentation></xsd:annotation> |
|
1267 <xsd:complexType> |
|
1268 <xsd:attribute name="macroName" type="xsd:string" use="required"> |
|
1269 <xsd:annotation><xsd:documentation> |
|
1270 The macro whose arguments to import. |
|
1271 </xsd:documentation></xsd:annotation> |
|
1272 </xsd:attribute> |
|
1273 <xsd:attribute name="arguments" type="listOfStrings" use="required"> |
|
1274 <xsd:annotation><xsd:documentation> |
|
1275 The list of argument names to import. This is mutually exclusive with 'exceptArguments'. |
|
1276 </xsd:documentation></xsd:annotation> |
|
1277 </xsd:attribute> |
|
1278 <xsd:attribute name="exceptArguments" type="listOfStrings" use="required"> |
|
1279 <xsd:annotation><xsd:documentation> |
|
1280 The list of argument names NOT to import. All the arguments are imported |
|
1281 except these. This is mutually exclusive with 'arguments'. |
|
1282 </xsd:documentation></xsd:annotation> |
|
1283 </xsd:attribute> |
|
1284 <xsd:attribute name="help" type="xsd:string" use="optional"> |
|
1285 <xsd:annotation><xsd:documentation> |
|
1286 Help/usage text for a documentation generating tool. |
|
1287 </xsd:documentation></xsd:annotation> |
|
1288 </xsd:attribute> |
|
1289 </xsd:complexType> |
|
1290 </xsd:element> |
|
1291 |
|
1292 <xsd:element name="expandMacro"> |
|
1293 <xsd:annotation><xsd:documentation> |
|
1294 <p> |
|
1295 Added post 1.1. |
|
1296 Expands a given macro into the sourceGen of the caller. |
|
1297 This has the same effect as inserting the same templates and inlines |
|
1298 from the macro's definition at the point of call. |
|
1299 Variable references from those templates and inlines |
|
1300 are substituted with the values provided in attributes |
|
1301 (e.g. variableName="value") or expandArgument child elements. |
|
1302 The latter may be preferred for cases where code is substituted, |
|
1303 so the formatting may be retained. |
|
1304 </p> |
|
1305 <p> |
|
1306 As a special case, variable references may have modifiers to |
|
1307 modify the formatting of a variable when it is expanded. |
|
1308 Modifiers are appended |
|
1309 to the variable name as in: $(varName::modifier). |
|
1310 </p> |
|
1311 <p> |
|
1312 Currently supported modifiers are all for tweaking canonical |
|
1313 function argument lists, which match the format of |
|
1314 declaration, with spaces, argument names, default values, etc: |
|
1315 </p> |
|
1316 <ul> |
|
1317 <li>as-function-declaration-args: identity |
|
1318 </li> |
|
1319 <li>as-function-definition-args: removes default argument values |
|
1320 </li> |
|
1321 <li>as-function-location-args: removes argument names, default arguments, and spaces |
|
1322 </li> |
|
1323 </ul> |
|
1324 </xsd:documentation></xsd:annotation> |
|
1325 <xsd:complexType> |
|
1326 <xsd:complexContent> |
|
1327 <xsd:extension base="ConditionalSourceGen" > |
|
1328 <xsd:sequence> |
|
1329 <xsd:element ref="expandArgument" maxOccurs="unbounded" minOccurs="0"/> |
|
1330 </xsd:sequence> |
|
1331 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
1332 <xsd:annotation><xsd:documentation> |
|
1333 The macro to invoke (matching the id from defineMacro). |
|
1334 </xsd:documentation></xsd:annotation> |
|
1335 </xsd:attribute> |
|
1336 <xsd:attribute name="passArguments" type="listOfStrings" use="optional"> |
|
1337 <xsd:annotation><xsd:documentation> |
|
1338 A list of arguments defined in the current calling macro to |
|
1339 pass unchanged to the called macro, excluding any arguments |
|
1340 that are not defined in the current call. |
|
1341 |
|
1342 This attribute is only valid in expandMacro called from |
|
1343 a defineMacro. |
|
1344 |
|
1345 Passing arguments is different from adding attributes |
|
1346 argName="$(argName)" because it avoids defining otherwise |
|
1347 undefined arguments. (A missing optional argument is null, |
|
1348 not the empty string. The '::is-defined' modifier can be |
|
1349 used to check this.) |
|
1350 |
|
1351 Elements in the list of strings are names of arguments, or |
|
1352 renames of the form targetArgumentName=hostArgumentName which |
|
1353 passes hostArgumentName from the hosting macro with the name |
|
1354 targetArgumentName (again, only if the argument is actually |
|
1355 defined in the call). |
|
1356 |
|
1357 If this argument is not specified, all the arguments in the |
|
1358 invoked macro are passed (zero or more may have defaults which |
|
1359 are overridden in this macro). |
|
1360 </xsd:documentation></xsd:annotation> |
|
1361 </xsd:attribute> |
|
1362 |
|
1363 <xsd:attribute name="dontPassArguments" type="listOfStrings" use="optional"> |
|
1364 <xsd:annotation><xsd:documentation> |
|
1365 This is primarily used when passArguments is not specified. |
|
1366 It specifies which arguments not to pass to the invoked macro, |
|
1367 which become undefined in the expansion of that macro. |
|
1368 This is useful when this macro takes over the work of one or more |
|
1369 arguments from the invoked macro. |
|
1370 </xsd:documentation></xsd:annotation> |
|
1371 </xsd:attribute> |
|
1372 |
|
1373 <xsd:attribute name="help" type="xsd:string" use="optional"> |
|
1374 <xsd:annotation><xsd:documentation> |
|
1375 Help/usage text for a documentation generating tool. |
|
1376 </xsd:documentation></xsd:annotation> |
|
1377 </xsd:attribute> |
|
1378 |
|
1379 <xsd:anyAttribute processContents="lax"> |
|
1380 <xsd:annotation><xsd:documentation> |
|
1381 Any attribute matching the variables used in the given named macro may appear here. |
|
1382 </xsd:documentation></xsd:annotation> |
|
1383 </xsd:anyAttribute> |
|
1384 </xsd:extension> |
|
1385 </xsd:complexContent> |
|
1386 </xsd:complexType> |
|
1387 </xsd:element> |
|
1388 |
|
1389 <xsd:element name="expandArgument"> |
|
1390 <xsd:annotation><xsd:documentation> |
|
1391 Added post 1.1. |
|
1392 Provides multiline text content for an argument. |
|
1393 This is semantically identical to setting an attribute of the same |
|
1394 name="..." value in the expandMacro element, with any standalone |
|
1395 leading whitespace and standalone trailing whitespace removed |
|
1396 (as with <template>). |
|
1397 </xsd:documentation></xsd:annotation> |
|
1398 <xsd:complexType> |
|
1399 <xsd:simpleContent> |
|
1400 <xsd:extension base="xsd:string"> |
|
1401 <xsd:attribute name="name" type="xsd:string" use="required"> |
|
1402 <xsd:annotation><xsd:documentation> |
|
1403 The variable to define (matching the id from macroArgument). |
|
1404 </xsd:documentation></xsd:annotation> |
|
1405 </xsd:attribute> |
|
1406 <xsd:attribute name="help" type="xsd:string" use="optional"> |
|
1407 <xsd:annotation><xsd:documentation> |
|
1408 Help/usage text for a documentation generating tool. |
|
1409 </xsd:documentation></xsd:annotation> |
|
1410 </xsd:attribute> |
|
1411 </xsd:extension> |
|
1412 </xsd:simpleContent> |
|
1413 </xsd:complexType> |
|
1414 </xsd:element> |
|
1415 |
|
1416 <xsd:element name="select"> |
|
1417 <xsd:annotation><xsd:documentation> |
|
1418 This element encapsulates choice elements which allow conditional |
|
1419 source mapping. One choice must match or an error results (you can |
|
1420 use an empty choice to match the default case if necessary). Only |
|
1421 the first matching choice is considered. |
|
1422 <p> |
|
1423 Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf) |
|
1424 for the select statement. |
|
1425 </p> |
|
1426 </xsd:documentation></xsd:annotation> |
|
1427 |
|
1428 <xsd:complexType> |
|
1429 <xsd:sequence> |
|
1430 <xsd:element maxOccurs="unbounded" minOccurs="0" ref="choice"/> |
|
1431 </xsd:sequence> |
|
1432 <!-- only one of these should be set --> |
|
1433 <xsd:attribute name="property" type="xsd:string" use="optional"> |
|
1434 <xsd:annotation><xsd:documentation> |
|
1435 Specifies the property path to test. (E.g. "flag", "[parent].flag", ...) |
|
1436 Results in an error if the property does not exist, else the string version of the property to test. |
|
1437 </xsd:documentation></xsd:annotation> |
|
1438 </xsd:attribute> |
|
1439 |
|
1440 <xsd:attribute name="attribute" type="xsd:string" use="optional"> |
|
1441 <xsd:annotation><xsd:documentation> |
|
1442 Specifies the attribute value to test. Results in blank ("") or the value of the attribute to test. |
|
1443 </xsd:documentation></xsd:annotation> |
|
1444 </xsd:attribute> |
|
1445 |
|
1446 <xsd:attribute name="propertyExists" type="xsd:string" use="optional"> |
|
1447 <xsd:annotation><xsd:documentation> |
|
1448 Specifies the property path to test for existence. (E.g. "flag", "[parent].flag", ...) |
|
1449 Results in a 'true' or 'false' value to test. |
|
1450 </xsd:documentation></xsd:annotation> |
|
1451 </xsd:attribute> |
|
1452 |
|
1453 <xsd:attribute name="isComponentInstanceOf" type="xsd:string" use="optional"> |
|
1454 <xsd:annotation><xsd:documentation> |
|
1455 Specifies the property path to test for existence, e.g., whether the |
|
1456 property may be set or queried. This is independent of whether the |
|
1457 property is actually set. The attribute takes a property path (e.g. "flag", "[parent].flag", ...) |
|
1458 Results in a 'true' or 'false' value to test. |
|
1459 </xsd:documentation></xsd:annotation> |
|
1460 </xsd:attribute> |
|
1461 |
|
1462 </xsd:complexType> |
|
1463 </xsd:element> |
|
1464 <xsd:element name="choice"> |
|
1465 <xsd:annotation><xsd:documentation> |
|
1466 This defines a decision in the select element. If the "value" attribute |
|
1467 matches the value obtained in the select element, the choice is matched |
|
1468 and its mapping elements instantiated. |
|
1469 </xsd:documentation></xsd:annotation> |
|
1470 <xsd:complexType> |
|
1471 <xsd:sequence> |
|
1472 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
1473 <xsd:element ref="twoWayMapping"/> |
|
1474 <xsd:element ref="mapResource"/> |
|
1475 <xsd:element ref="select"/> |
|
1476 </xsd:choice> |
|
1477 </xsd:sequence> |
|
1478 <xsd:attribute name="value" type="xsd:string" use="optional"> |
|
1479 <xsd:annotation><xsd:documentation> |
|
1480 The value to match. If unspecified, the choice always matches. |
|
1481 </xsd:documentation></xsd:annotation> |
|
1482 </xsd:attribute> |
|
1483 |
|
1484 </xsd:complexType> |
|
1485 </xsd:element> |
|
1486 <xsd:complexType name="twoWayMappingType"> |
|
1487 <xsd:annotation><xsd:documentation> |
|
1488 Base for two-way mappings. |
|
1489 </xsd:documentation></xsd:annotation> |
|
1490 </xsd:complexType> |
|
1491 <xsd:complexType name="mappingFixedType"> |
|
1492 <xsd:annotation><xsd:documentation> |
|
1493 Base for mapping a fixed value to RSS. |
|
1494 </xsd:documentation></xsd:annotation> |
|
1495 <xsd:complexContent> |
|
1496 <xsd:extension base="twoWayMappingType"> |
|
1497 <xsd:attribute name="value" type="xsd:string" use="required"> |
|
1498 <xsd:annotation><xsd:documentation> |
|
1499 The literal string to emit into RSS. |
|
1500 </xsd:documentation></xsd:annotation> |
|
1501 </xsd:attribute> |
|
1502 </xsd:extension> |
|
1503 </xsd:complexContent> |
|
1504 </xsd:complexType> |
|
1505 <xsd:complexType name="mappingSimpleType"> |
|
1506 <xsd:annotation><xsd:documentation> |
|
1507 Base for mapping simple types (integers, floats, strings, booleans). |
|
1508 </xsd:documentation></xsd:annotation> |
|
1509 <xsd:complexContent> |
|
1510 <xsd:extension base="twoWayMappingType"/> |
|
1511 </xsd:complexContent> |
|
1512 </xsd:complexType> |
|
1513 <xsd:complexType name="mappingInstanceType"> |
|
1514 <xsd:annotation><xsd:documentation> |
|
1515 Base for mapping resources generated by component instances. |
|
1516 Either a reference to the resource is emitted (for LLINK targets) |
|
1517 or the resource expression is emitted (for STRUCT targets). |
|
1518 </xsd:documentation></xsd:annotation> |
|
1519 <xsd:complexContent> |
|
1520 <xsd:extension base="twoWayMappingType"> |
|
1521 <xsd:attribute name="rsrcId" type="xsd:string" use="optional"> |
|
1522 <xsd:annotation><xsd:documentation> |
|
1523 If specified, which particular resource to match. |
|
1524 </xsd:documentation></xsd:annotation> |
|
1525 </xsd:attribute> |
|
1526 </xsd:extension> |
|
1527 </xsd:complexContent> |
|
1528 </xsd:complexType> |
|
1529 <xsd:complexType name="mappingReferenceType"> |
|
1530 <xsd:annotation><xsd:documentation> |
|
1531 Base for mapping references to resources generated by component instances. |
|
1532 </xsd:documentation></xsd:annotation> |
|
1533 <xsd:complexContent> |
|
1534 <xsd:extension base="twoWayMappingType"> |
|
1535 <xsd:attribute name="rsrcId" type="xsd:string" use="optional"> |
|
1536 <xsd:annotation><xsd:documentation> |
|
1537 If defined, tells which particular generated resource to reference. |
|
1538 </xsd:documentation></xsd:annotation> |
|
1539 </xsd:attribute> |
|
1540 </xsd:extension> |
|
1541 </xsd:complexContent> |
|
1542 </xsd:complexType> |
|
1543 <xsd:complexType name="mappingEnumType"> |
|
1544 <xsd:annotation><xsd:documentation> |
|
1545 Base for mapping enumerator properties. |
|
1546 If any mapEnum elements specified, they completely define the list of mappings |
|
1547 of internal enumerator values to external RSS values. Otherwise, internal |
|
1548 values are directly emitted as RSS values. |
|
1549 </xsd:documentation></xsd:annotation> |
|
1550 <xsd:complexContent> |
|
1551 <xsd:extension base="twoWayMappingType"> |
|
1552 <xsd:sequence maxOccurs="unbounded" minOccurs="0"> |
|
1553 <xsd:element ref="mapEnum"/> |
|
1554 </xsd:sequence> |
|
1555 <xsd:attribute name="enumeration" type="xsd:string" use="optional"> |
|
1556 <xsd:annotation><xsd:documentation> |
|
1557 Unused. |
|
1558 </xsd:documentation></xsd:annotation> |
|
1559 </xsd:attribute> |
|
1560 <xsd:attribute name="headers" type="listOfStrings" use="optional"> |
|
1561 <xsd:annotation><xsd:documentation> |
|
1562 List of header files that must be included to provide the RSS enumerator symbols. |
|
1563 </xsd:documentation></xsd:annotation> |
|
1564 </xsd:attribute> |
|
1565 <xsd:attribute default="true" name="validate" type="xsd:boolean" use="optional"> |
|
1566 <xsd:annotation><xsd:documentation> |
|
1567 If true, ensure that mapped enumerators are declared in the RSS context, |
|
1568 emitting warnings if not. Set this to false if mapping #defines or |
|
1569 expressions. |
|
1570 </xsd:documentation></xsd:annotation> |
|
1571 </xsd:attribute> |
|
1572 |
|
1573 <xsd:attribute name="nameAlgorithm" type="xsd:string" use="optional"> |
|
1574 <xsd:annotation><xsd:documentation> |
|
1575 If defined, mapped RSS values may be generated by an algorithm based on |
|
1576 the current instance and property. See the com.nokia.sdt.sourceGen.nameAlgorithm |
|
1577 extension point for details. |
|
1578 </xsd:documentation></xsd:annotation> |
|
1579 </xsd:attribute> |
|
1580 <xsd:attribute name="uniqueValue" type="xsd:string" use="optional"> |
|
1581 <xsd:annotation><xsd:documentation> |
|
1582 When nameAlgorithm is defined, specifies that some or all mapped values |
|
1583 are generated by the name algorithm. If the value is "*", every value goes |
|
1584 through the name algorithm and gets an enumerator in an *.hrh file. |
|
1585 Otherwise, only properties matching the value are generated. |
|
1586 </xsd:documentation></xsd:annotation> |
|
1587 </xsd:attribute> |
|
1588 </xsd:extension> |
|
1589 </xsd:complexContent> |
|
1590 </xsd:complexType> |
|
1591 <xsd:element name="mapEnum"> |
|
1592 <xsd:annotation><xsd:documentation> |
|
1593 This defines the mapping of one particular property value to one |
|
1594 particular RSS value. |
|
1595 </xsd:documentation></xsd:annotation> |
|
1596 <xsd:complexType> |
|
1597 <xsd:attribute name="value" type="xsd:string" use="required"> |
|
1598 <xsd:annotation><xsd:documentation> |
|
1599 The property value. |
|
1600 </xsd:documentation></xsd:annotation> |
|
1601 </xsd:attribute> |
|
1602 |
|
1603 <xsd:attribute name="enumerator" type="xsd:string" use="required"> |
|
1604 <xsd:annotation><xsd:documentation> |
|
1605 The RSS enumerator. |
|
1606 </xsd:documentation></xsd:annotation> |
|
1607 </xsd:attribute> |
|
1608 </xsd:complexType> |
|
1609 </xsd:element> |
|
1610 <xsd:complexType name="mappingIdentifierType"> |
|
1611 <xsd:annotation><xsd:documentation> |
|
1612 Base for mapping property values to RSS identifiers (rather than |
|
1613 strings, for instance, as mappingSimpleType would do). |
|
1614 </xsd:documentation></xsd:annotation> |
|
1615 <xsd:complexContent> |
|
1616 <xsd:extension base="twoWayMappingType"/> |
|
1617 </xsd:complexContent> |
|
1618 </xsd:complexType> |
|
1619 <xsd:complexType name="mappingResourceType"> |
|
1620 <xsd:annotation><xsd:documentation> |
|
1621 Base for mapping resources in RSS. |
|
1622 </xsd:documentation></xsd:annotation> |
|
1623 <xsd:complexContent> |
|
1624 <xsd:extension base="twoWayMappingType"> |
|
1625 <xsd:sequence> |
|
1626 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
1627 <xsd:element ref="mapSimpleMember"/> |
|
1628 <xsd:element ref="mapInstanceMember"/> |
|
1629 <xsd:element ref="mapReferenceMember"/> |
|
1630 <xsd:element ref="mapFixedMember"/> |
|
1631 <xsd:element ref="mapEnumMember"/> |
|
1632 <xsd:element ref="mapIdentifierMember"/> |
|
1633 <xsd:element ref="mapArrayMember"/> |
|
1634 <xsd:element ref="mapResourceMember"/> |
|
1635 <xsd:element ref="mapBitmaskMember"/> |
|
1636 <xsd:element ref="mapMemberFromType"/> |
|
1637 <xsd:element ref="mapIntoProperty"/> |
|
1638 <xsd:element ref="select"/> |
|
1639 </xsd:choice> |
|
1640 </xsd:sequence> |
|
1641 <xsd:attribute name="struct" type="xsd:string" use="optional"> |
|
1642 <xsd:annotation><xsd:documentation> |
|
1643 The RSS STRUCT name to generate. |
|
1644 </xsd:documentation></xsd:annotation> |
|
1645 </xsd:attribute> |
|
1646 |
|
1647 <xsd:attribute name="headers" type="listOfStrings" use="optional"> |
|
1648 <xsd:annotation><xsd:documentation> |
|
1649 The list of headers required to declare the STRUCT. |
|
1650 </xsd:documentation></xsd:annotation> |
|
1651 </xsd:attribute> |
|
1652 |
|
1653 <xsd:attribute name="id" type="xsd:string" use="optional"> |
|
1654 <xsd:annotation><xsd:documentation> |
|
1655 The unique identifier for this resource within a component. |
|
1656 |
|
1657 Every mapResourceXXX must have an identifier, either implicitly |
|
1658 or explicitly defined. |
|
1659 |
|
1660 If unspecified, an identifier is automatically generated for |
|
1661 mapResourceMember or mapResourceElement elements. Otherwise, |
|
1662 missing identifiers are reported at errors at source mapping time. |
|
1663 </xsd:documentation></xsd:annotation> |
|
1664 </xsd:attribute> |
|
1665 |
|
1666 </xsd:extension> |
|
1667 </xsd:complexContent> |
|
1668 </xsd:complexType> |
|
1669 <xsd:complexType name="mappingBitmaskType"> |
|
1670 <xsd:annotation><xsd:documentation> |
|
1671 Base for mapping sets of boolean properties to a single bitmask expression in RSS. |
|
1672 |
|
1673 When mapping this element, a working set of the includedProperties is created. |
|
1674 Each mapBitmaskValue element is considered in turn, and if all the properties |
|
1675 it references are present in the working set and have the value "true", |
|
1676 the matching value is OR'ed into the target expression, and those properties removed from the working set. |
|
1677 Once the working set is empty, the mapping is complete. If all mapBitmaskValues are |
|
1678 exhausted but the working set is non-empty, this is a component error. |
|
1679 </xsd:documentation></xsd:annotation> |
|
1680 <xsd:complexContent> |
|
1681 <xsd:extension base="twoWayMappingType"> |
|
1682 <xsd:sequence maxOccurs="unbounded" minOccurs="0"> |
|
1683 <xsd:element ref="mapBitmaskValue"/> |
|
1684 </xsd:sequence> |
|
1685 <xsd:attribute name="includedProperties" type="listOfStrings" use="optional"> |
|
1686 <xsd:annotation><xsd:documentation> |
|
1687 The list of properties included in the set. If undefined, all the |
|
1688 sibling properties (within a component or compound property) are included. |
|
1689 Every included property must be referenced in a mapBitmaskValue element, |
|
1690 or else the mapping is considered invalid, and an error reported. |
|
1691 </xsd:documentation></xsd:annotation> |
|
1692 </xsd:attribute> |
|
1693 |
|
1694 </xsd:extension> |
|
1695 </xsd:complexContent> |
|
1696 </xsd:complexType> |
|
1697 <xsd:element name="mapBitmaskValue"> |
|
1698 <xsd:annotation><xsd:documentation> |
|
1699 Map a set of properties to a subexpression of the bitmask expression. If all the given |
|
1700 properties are "true", the given value is OR'ed into the target expression. |
|
1701 </xsd:documentation></xsd:annotation> |
|
1702 <xsd:complexType> |
|
1703 <xsd:attribute name="properties" type="listOfStrings" use="required"> |
|
1704 <xsd:annotation><xsd:documentation> |
|
1705 List of properties to consider. May be property paths. |
|
1706 </xsd:documentation></xsd:annotation> |
|
1707 </xsd:attribute> |
|
1708 |
|
1709 <xsd:attribute name="value" type="xsd:string" use="required"> |
|
1710 <xsd:annotation><xsd:documentation> |
|
1711 Value to OR into the target expression. |
|
1712 </xsd:documentation></xsd:annotation> |
|
1713 </xsd:attribute> |
|
1714 |
|
1715 </xsd:complexType> |
|
1716 </xsd:element> |
|
1717 |
|
1718 <xsd:element abstract="true" name="twoWayMapping" type="twoWayMappingType"/> |
|
1719 |
|
1720 <xsd:complexType name="mappingArrayType"> |
|
1721 <xsd:annotation><xsd:documentation> |
|
1722 Base for mapping arrays from sequence properties or component instance children. |
|
1723 </xsd:documentation></xsd:annotation> |
|
1724 <xsd:complexContent> |
|
1725 <xsd:extension base="twoWayMappingType"> |
|
1726 <xsd:sequence> |
|
1727 <xsd:choice maxOccurs="1" minOccurs="0"> |
|
1728 <xsd:element ref="twoWayMapping"> |
|
1729 <xsd:annotation><xsd:documentation> |
|
1730 This is restricted to mapXXXElement, mapElementFromType, or mapIntoProperty, but we can't represent this in XSD. |
|
1731 </xsd:documentation></xsd:annotation> |
|
1732 </xsd:element> |
|
1733 |
|
1734 <xsd:element ref="select"/> |
|
1735 </xsd:choice> |
|
1736 </xsd:sequence> |
|
1737 </xsd:extension> |
|
1738 </xsd:complexContent> |
|
1739 </xsd:complexType> |
|
1740 |
|
1741 <xsd:annotation> |
|
1742 <xsd:documentation> |
|
1743 Type mappings are used to store mappings along with a type. Added post 1.2 |
|
1744 </xsd:documentation> |
|
1745 </xsd:annotation> |
|
1746 |
|
1747 <!-- added post 1.2 --> |
|
1748 <xsd:element name="mapFixedType" substitutionGroup="twoWayMapping"> |
|
1749 <xsd:annotation><xsd:documentation> |
|
1750 Map a fixed value. |
|
1751 </xsd:documentation></xsd:annotation> |
|
1752 <xsd:complexType> |
|
1753 <xsd:complexContent> |
|
1754 <xsd:extension base="mappingFixedType" > |
|
1755 &MapTypeIdAttribute; |
|
1756 </xsd:extension> |
|
1757 </xsd:complexContent> |
|
1758 </xsd:complexType> |
|
1759 </xsd:element> |
|
1760 |
|
1761 <!-- added post 1.2 --> |
|
1762 <xsd:element name="mapSimpleType" substitutionGroup="twoWayMapping"> |
|
1763 <xsd:annotation><xsd:documentation> |
|
1764 Map a simple value. |
|
1765 </xsd:documentation></xsd:annotation> |
|
1766 <xsd:complexType> |
|
1767 <xsd:complexContent> |
|
1768 <xsd:extension base="mappingSimpleType"> |
|
1769 &MapTypeIdAttribute; |
|
1770 </xsd:extension> |
|
1771 </xsd:complexContent> |
|
1772 </xsd:complexType> |
|
1773 </xsd:element> |
|
1774 <!-- added post 1.2 --> |
|
1775 <xsd:element name="mapInstanceType" substitutionGroup="twoWayMapping"> |
|
1776 <xsd:annotation><xsd:documentation> |
|
1777 Map resources for an instance. |
|
1778 </xsd:documentation></xsd:annotation> |
|
1779 <xsd:complexType> |
|
1780 <xsd:complexContent> |
|
1781 <xsd:extension base="mappingInstanceType"> |
|
1782 &MapTypeIdAttribute; |
|
1783 </xsd:extension> |
|
1784 </xsd:complexContent> |
|
1785 </xsd:complexType> |
|
1786 </xsd:element> |
|
1787 <!-- added post 1.2 --> |
|
1788 <xsd:element name="mapReferenceType" substitutionGroup="twoWayMapping"> |
|
1789 <xsd:annotation><xsd:documentation> |
|
1790 Map a reference property to resources the instance generates. |
|
1791 </xsd:documentation></xsd:annotation> |
|
1792 <xsd:complexType> |
|
1793 <xsd:complexContent> |
|
1794 <xsd:extension base="mappingReferenceType"> |
|
1795 &MapTypeIdAttribute; |
|
1796 </xsd:extension> |
|
1797 </xsd:complexContent> |
|
1798 </xsd:complexType> |
|
1799 </xsd:element> |
|
1800 <!-- added post 1.2 --> |
|
1801 <xsd:element name="mapEnumType" substitutionGroup="twoWayMapping"> |
|
1802 <xsd:annotation><xsd:documentation> |
|
1803 Map an enumerator to RSS. |
|
1804 </xsd:documentation></xsd:annotation> |
|
1805 <xsd:complexType> |
|
1806 <xsd:complexContent> |
|
1807 <xsd:extension base="mappingEnumType"> |
|
1808 &MapTypeIdAttribute; |
|
1809 </xsd:extension> |
|
1810 </xsd:complexContent> |
|
1811 </xsd:complexType> |
|
1812 </xsd:element> |
|
1813 <!-- added post 1.2 --> |
|
1814 <xsd:element name="mapIdentifierType" substitutionGroup="twoWayMapping"> |
|
1815 <xsd:annotation><xsd:documentation> |
|
1816 Map a simple property to a literal (identifier) in RSS. |
|
1817 </xsd:documentation></xsd:annotation> |
|
1818 <xsd:complexType> |
|
1819 <xsd:complexContent> |
|
1820 <xsd:extension base="mappingIdentifierType"> |
|
1821 &MapTypeIdAttribute; |
|
1822 </xsd:extension> |
|
1823 </xsd:complexContent> |
|
1824 </xsd:complexType> |
|
1825 </xsd:element> |
|
1826 <!-- added post 1.2 --> |
|
1827 <xsd:element name="mapResourceType" substitutionGroup="twoWayMapping"> |
|
1828 <xsd:annotation><xsd:documentation> |
|
1829 Map a property to a RESOURCE expression or statement. |
|
1830 </xsd:documentation></xsd:annotation> |
|
1831 <xsd:complexType> |
|
1832 <xsd:complexContent> |
|
1833 <xsd:extension base="mappingResourceType"> |
|
1834 &MapTypeIdAttribute; |
|
1835 </xsd:extension> |
|
1836 </xsd:complexContent> |
|
1837 </xsd:complexType> |
|
1838 </xsd:element> |
|
1839 <!-- added post 1.2 --> |
|
1840 <xsd:element name="mapArrayType" substitutionGroup="twoWayMapping"> |
|
1841 <xsd:annotation><xsd:documentation> |
|
1842 Map a property or child list to an array in RSS. |
|
1843 </xsd:documentation></xsd:annotation> |
|
1844 <xsd:complexType> |
|
1845 <xsd:complexContent> |
|
1846 <xsd:extension base="mappingArrayType"> |
|
1847 &MapTypeIdAttribute; |
|
1848 </xsd:extension> |
|
1849 </xsd:complexContent> |
|
1850 </xsd:complexType> |
|
1851 </xsd:element> |
|
1852 <!-- added post 1.2 --> |
|
1853 <xsd:element name="mapBitmaskType" substitutionGroup="twoWayMapping"> |
|
1854 <xsd:annotation><xsd:documentation> |
|
1855 Map a set of boolean properties to a bitmask expression in RSS. |
|
1856 </xsd:documentation></xsd:annotation> |
|
1857 <xsd:complexType> |
|
1858 <xsd:complexContent> |
|
1859 <xsd:extension base="mappingBitmaskType"> |
|
1860 &MapTypeIdAttribute; |
|
1861 </xsd:extension> |
|
1862 </xsd:complexContent> |
|
1863 </xsd:complexType> |
|
1864 </xsd:element> |
|
1865 <xsd:annotation> |
|
1866 <xsd:documentation> |
|
1867 Member mappings are used to map a property to a member of a resource. |
|
1868 </xsd:documentation> |
|
1869 </xsd:annotation> |
|
1870 |
|
1871 <xsd:element name="mapFixedMember" substitutionGroup="twoWayMapping"> |
|
1872 <xsd:annotation><xsd:documentation> |
|
1873 Map a fixed value to an RSS member. |
|
1874 </xsd:documentation></xsd:annotation> |
|
1875 <xsd:complexType> |
|
1876 <xsd:complexContent> |
|
1877 <xsd:extension base="mappingFixedType"> |
|
1878 &MapMemberAttributes; |
|
1879 </xsd:extension> |
|
1880 </xsd:complexContent> |
|
1881 </xsd:complexType> |
|
1882 </xsd:element> |
|
1883 |
|
1884 <xsd:element name="mapSimpleMember" substitutionGroup="twoWayMapping"> |
|
1885 <xsd:annotation><xsd:documentation> |
|
1886 Map a simple value to a member. |
|
1887 </xsd:documentation></xsd:annotation> |
|
1888 <xsd:complexType> |
|
1889 <xsd:complexContent> |
|
1890 <xsd:extension base="mappingSimpleType"> |
|
1891 &MapPropertyAttribute; |
|
1892 &MapMemberAttributes; |
|
1893 |
|
1894 </xsd:extension> |
|
1895 </xsd:complexContent> |
|
1896 </xsd:complexType> |
|
1897 </xsd:element> |
|
1898 <xsd:element name="mapInstanceMember" substitutionGroup="twoWayMapping"> |
|
1899 <xsd:annotation><xsd:documentation> |
|
1900 Map resources for an instance. |
|
1901 </xsd:documentation></xsd:annotation> |
|
1902 <xsd:complexType> |
|
1903 <xsd:complexContent> |
|
1904 <xsd:extension base="mappingInstanceType"> |
|
1905 &MapPropertyAttribute; |
|
1906 &MapMemberAttributes; |
|
1907 </xsd:extension> |
|
1908 </xsd:complexContent> |
|
1909 </xsd:complexType> |
|
1910 </xsd:element> |
|
1911 <xsd:element name="mapReferenceMember" substitutionGroup="twoWayMapping"> |
|
1912 <xsd:annotation><xsd:documentation> |
|
1913 Map a reference property to resources the instance generates. |
|
1914 </xsd:documentation></xsd:annotation> |
|
1915 <xsd:complexType> |
|
1916 <xsd:complexContent> |
|
1917 <xsd:extension base="mappingReferenceType"> |
|
1918 &MapPropertyAttribute; |
|
1919 &MapMemberAttributes; |
|
1920 </xsd:extension> |
|
1921 </xsd:complexContent> |
|
1922 </xsd:complexType> |
|
1923 </xsd:element> |
|
1924 <xsd:element name="mapEnumMember" substitutionGroup="twoWayMapping"> |
|
1925 <xsd:annotation><xsd:documentation> |
|
1926 Map an enumerator to RSS. |
|
1927 </xsd:documentation></xsd:annotation> |
|
1928 <xsd:complexType> |
|
1929 <xsd:complexContent> |
|
1930 <xsd:extension base="mappingEnumType"> |
|
1931 &MapPropertyAttribute; |
|
1932 &MapMemberAttributes; |
|
1933 </xsd:extension> |
|
1934 </xsd:complexContent> |
|
1935 </xsd:complexType> |
|
1936 </xsd:element> |
|
1937 <xsd:element name="mapIdentifierMember" substitutionGroup="twoWayMapping"> |
|
1938 <xsd:annotation><xsd:documentation> |
|
1939 Map a simple property to a literal (identifier) in RSS. |
|
1940 </xsd:documentation></xsd:annotation> |
|
1941 <xsd:complexType> |
|
1942 <xsd:complexContent> |
|
1943 <xsd:extension base="mappingIdentifierType"> |
|
1944 &MapPropertyAttribute; |
|
1945 &MapMemberAttributes; |
|
1946 </xsd:extension> |
|
1947 </xsd:complexContent> |
|
1948 </xsd:complexType> |
|
1949 </xsd:element> |
|
1950 <xsd:element name="mapResourceMember" substitutionGroup="twoWayMapping"> |
|
1951 <xsd:annotation><xsd:documentation> |
|
1952 Map a property to a RESOURCE expression or statement. |
|
1953 </xsd:documentation></xsd:annotation> |
|
1954 <xsd:complexType> |
|
1955 <xsd:complexContent> |
|
1956 <xsd:extension base="mappingResourceType"> |
|
1957 &MapPropertyAttribute; |
|
1958 &MapMemberAttributes; |
|
1959 </xsd:extension> |
|
1960 </xsd:complexContent> |
|
1961 </xsd:complexType> |
|
1962 </xsd:element> |
|
1963 <xsd:element name="mapArrayMember" substitutionGroup="twoWayMapping"> |
|
1964 <xsd:annotation><xsd:documentation> |
|
1965 Map a property or child list to an array in RSS. |
|
1966 </xsd:documentation></xsd:annotation> |
|
1967 <xsd:complexType> |
|
1968 <xsd:complexContent> |
|
1969 <xsd:extension base="mappingArrayType"> |
|
1970 &MapPropertyAttribute; |
|
1971 &MapMemberAttributes; |
|
1972 </xsd:extension> |
|
1973 </xsd:complexContent> |
|
1974 </xsd:complexType> |
|
1975 </xsd:element> |
|
1976 <xsd:element name="mapBitmaskMember" substitutionGroup="twoWayMapping"> |
|
1977 <xsd:annotation><xsd:documentation> |
|
1978 Map a set of boolean properties to a bitmask expression in RSS. |
|
1979 </xsd:documentation></xsd:annotation> |
|
1980 <xsd:complexType> |
|
1981 <xsd:complexContent> |
|
1982 <xsd:extension base="mappingBitmaskType"> |
|
1983 &MapPropertyAttribute; |
|
1984 &MapMemberAttributes; |
|
1985 </xsd:extension> |
|
1986 </xsd:complexContent> |
|
1987 </xsd:complexType> |
|
1988 </xsd:element> |
|
1989 |
|
1990 <!-- added post 1.2 --> |
|
1991 <xsd:element name="mapMemberFromType" substitutionGroup="twoWayMapping"> |
|
1992 <xsd:annotation><xsd:documentation> |
|
1993 Map RSS from the type declaration attached to the given property. |
|
1994 </xsd:documentation></xsd:annotation> |
|
1995 <xsd:complexType> |
|
1996 <xsd:complexContent> |
|
1997 <xsd:extension base="twoWayMappingType"> |
|
1998 &MapPropertyAttribute; |
|
1999 &MapMemberAttributes; |
|
2000 |
|
2001 <xsd:attribute name="typeId" type="xsd:string" use="optional"> |
|
2002 <xsd:annotation><xsd:documentation> |
|
2003 This attribute tells which of a set of type mappings to use |
|
2004 from the given type (as named in the id="..." attributes on |
|
2005 the mapXXXType children of sourceTypeMapping). |
|
2006 </xsd:documentation></xsd:annotation> |
|
2007 </xsd:attribute> |
|
2008 |
|
2009 </xsd:extension> |
|
2010 </xsd:complexContent> |
|
2011 </xsd:complexType> |
|
2012 </xsd:element> |
|
2013 |
|
2014 |
|
2015 |
|
2016 <!-- Array element mappings --> |
|
2017 <xsd:element name="mapSimpleElement" substitutionGroup="twoWayMapping"> |
|
2018 <xsd:annotation><xsd:documentation> |
|
2019 Map a simple value to an array element. |
|
2020 </xsd:documentation></xsd:annotation> |
|
2021 <xsd:complexType> |
|
2022 <xsd:complexContent> |
|
2023 <xsd:extension base="mappingSimpleType"> |
|
2024 </xsd:extension> |
|
2025 </xsd:complexContent> |
|
2026 </xsd:complexType> |
|
2027 </xsd:element> |
|
2028 <xsd:element name="mapFixedElement" substitutionGroup="twoWayMapping"> |
|
2029 <xsd:annotation><xsd:documentation> |
|
2030 Map a fixed value to an array element. |
|
2031 </xsd:documentation></xsd:annotation> |
|
2032 <xsd:complexType> |
|
2033 <xsd:complexContent> |
|
2034 <xsd:extension base="mappingFixedType"> |
|
2035 </xsd:extension> |
|
2036 </xsd:complexContent> |
|
2037 </xsd:complexType> |
|
2038 </xsd:element> |
|
2039 <xsd:element name="mapInstanceElement" substitutionGroup="twoWayMapping"> |
|
2040 <xsd:annotation><xsd:documentation> |
|
2041 Map an instance's resources to an array element. |
|
2042 </xsd:documentation></xsd:annotation> |
|
2043 <xsd:complexType> |
|
2044 <xsd:complexContent> |
|
2045 <xsd:extension base="mappingInstanceType"/> |
|
2046 </xsd:complexContent> |
|
2047 </xsd:complexType> |
|
2048 </xsd:element> |
|
2049 <xsd:element name="mapReferenceElement" substitutionGroup="twoWayMapping"> |
|
2050 <xsd:annotation><xsd:documentation> |
|
2051 Map a reference property to an array element. |
|
2052 </xsd:documentation></xsd:annotation> |
|
2053 <xsd:complexType> |
|
2054 <xsd:complexContent> |
|
2055 <xsd:extension base="mappingReferenceType"/> |
|
2056 </xsd:complexContent> |
|
2057 </xsd:complexType> |
|
2058 </xsd:element> |
|
2059 <xsd:element name="mapEnumElement" substitutionGroup="twoWayMapping"> |
|
2060 <xsd:annotation><xsd:documentation> |
|
2061 Map an enumerator to an array element. |
|
2062 </xsd:documentation></xsd:annotation> |
|
2063 <xsd:complexType> |
|
2064 <xsd:complexContent> |
|
2065 <xsd:extension base="mappingEnumType"/> |
|
2066 </xsd:complexContent> |
|
2067 </xsd:complexType> |
|
2068 </xsd:element> |
|
2069 <xsd:element name="mapIdentifierElement" substitutionGroup="twoWayMapping"> |
|
2070 <xsd:annotation><xsd:documentation> |
|
2071 Map a simple value to a literal (identifier) in an array element. |
|
2072 </xsd:documentation></xsd:annotation> |
|
2073 <xsd:complexType> |
|
2074 <xsd:complexContent> |
|
2075 <xsd:extension base="mappingIdentifierType"/> |
|
2076 </xsd:complexContent> |
|
2077 </xsd:complexType> |
|
2078 </xsd:element> |
|
2079 <xsd:element name="mapResourceElement" substitutionGroup="twoWayMapping"> |
|
2080 <xsd:annotation><xsd:documentation> |
|
2081 Map a compound property or instance to resources in an array element. |
|
2082 </xsd:documentation></xsd:annotation> |
|
2083 <xsd:complexType> |
|
2084 <xsd:complexContent> |
|
2085 <xsd:extension base="mappingResourceType"> |
|
2086 |
|
2087 <xsd:attribute name="instanceIdentifyingMember" type="xsd:string" use="optional"> |
|
2088 <xsd:annotation><xsd:documentation> |
|
2089 This attribute provides a means to distinguish resource |
|
2090 elements that come from different instances. |
|
2091 |
|
2092 It tells which resource member to use as a key, so that the |
|
2093 array mapper can match up elements to instances when importing, |
|
2094 to allow unknown items to be inserted (or for known items to |
|
2095 be reordered, ideally). |
|
2096 |
|
2097 If not set, the array is assumed to contain entries whose |
|
2098 positions uniquely identify them (as is the case with |
|
2099 arrays of integers, references, etc.). |
|
2100 </xsd:documentation></xsd:annotation> |
|
2101 </xsd:attribute> |
|
2102 </xsd:extension> |
|
2103 </xsd:complexContent> |
|
2104 </xsd:complexType> |
|
2105 </xsd:element> |
|
2106 <xsd:element name="mapBitmaskElement" substitutionGroup="twoWayMapping"> |
|
2107 <xsd:annotation><xsd:documentation> |
|
2108 Map a set of boolean properties to an expression in an array element. |
|
2109 </xsd:documentation></xsd:annotation> |
|
2110 <xsd:complexType> |
|
2111 <xsd:complexContent> |
|
2112 <xsd:extension base="mappingBitmaskType"/> |
|
2113 </xsd:complexContent> |
|
2114 </xsd:complexType> |
|
2115 </xsd:element> |
|
2116 <!-- no mapArrayElement: no sub-arrays! --> |
|
2117 |
|
2118 <!-- added post 1.2 --> |
|
2119 <xsd:element name="mapElementFromType" substitutionGroup="twoWayMapping"> |
|
2120 <xsd:annotation><xsd:documentation> |
|
2121 Map RSS from the type declaration attached to the current element. |
|
2122 You may need to use <mapProperty> to descend into a child of the current |
|
2123 element for this to work. |
|
2124 </xsd:documentation></xsd:annotation> |
|
2125 <xsd:complexType> |
|
2126 <xsd:complexContent> |
|
2127 <xsd:extension base="twoWayMappingType"> |
|
2128 <xsd:attribute name="typeId" type="xsd:string" use="optional"> |
|
2129 <xsd:annotation><xsd:documentation> |
|
2130 This attribute tells which of a set of type mappings to use |
|
2131 from the given type (as named in the id="..." attributes on |
|
2132 the mapXXXType children of sourceTypeMapping). |
|
2133 </xsd:documentation></xsd:annotation> |
|
2134 </xsd:attribute> |
|
2135 |
|
2136 </xsd:extension> |
|
2137 </xsd:complexContent> |
|
2138 </xsd:complexType> |
|
2139 |
|
2140 </xsd:element> |
|
2141 |
|
2142 <!-- added post 1.2 --> |
|
2143 <xsd:element name="mapIntoProperty" substitutionGroup="twoWayMapping"> |
|
2144 <xsd:annotation><xsd:documentation> |
|
2145 Delve into a property path without generating any resources. |
|
2146 </xsd:documentation></xsd:annotation> |
|
2147 <xsd:complexType> |
|
2148 <xsd:complexContent> |
|
2149 <xsd:extension base="twoWayMappingType"> |
|
2150 <xsd:sequence> |
|
2151 <xsd:element ref="twoWayMapping"/> |
|
2152 </xsd:sequence> |
|
2153 &MapPropertyAttribute; |
|
2154 </xsd:extension> |
|
2155 |
|
2156 </xsd:complexContent> |
|
2157 </xsd:complexType> |
|
2158 </xsd:element> |
|
2159 |
|
2160 <xsd:element name="sourceMapping"> |
|
2161 <xsd:annotation> |
|
2162 <xsd:documentation> |
|
2163 The sourceMapping element defines a particular style of source generation |
|
2164 which consists of automatic generation of source by structurally |
|
2165 mapping a component instance to a source definition. |
|
2166 </xsd:documentation> |
|
2167 </xsd:annotation> |
|
2168 <xsd:complexType> |
|
2169 <xsd:sequence> |
|
2170 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
2171 <xsd:element ref="mapResource"/> |
|
2172 <xsd:element ref="select"/> |
|
2173 </xsd:choice> |
|
2174 </xsd:sequence> |
|
2175 </xsd:complexType> |
|
2176 </xsd:element> |
|
2177 |
|
2178 <xsd:simpleType name="standaloneType"> |
|
2179 <xsd:annotation><xsd:documentation> |
|
2180 The selector for controlling standalone resource mapping. |
|
2181 </xsd:documentation></xsd:annotation> |
|
2182 <xsd:restriction base="xsd:string"> |
|
2183 <xsd:enumeration value="false"> |
|
2184 <xsd:annotation><xsd:documentation> |
|
2185 Deprecated value corresponding to "default". |
|
2186 </xsd:documentation></xsd:annotation> |
|
2187 </xsd:enumeration> |
|
2188 <xsd:enumeration value="true"> |
|
2189 <xsd:annotation><xsd:documentation> |
|
2190 Depecated value corresponding to "always". |
|
2191 </xsd:documentation></xsd:annotation> |
|
2192 </xsd:enumeration> |
|
2193 <xsd:enumeration value="never"> |
|
2194 <xsd:annotation><xsd:documentation> |
|
2195 Never emit the resource by itself. Only emit it if another resource |
|
2196 references it. By using this, a component may generate two forms of |
|
2197 resource (with different resource ids) and let a container or reference |
|
2198 select which resource it wants, without also generating the unused variant. |
|
2199 </xsd:documentation></xsd:annotation> |
|
2200 </xsd:enumeration> |
|
2201 <xsd:enumeration value="default"> |
|
2202 <xsd:annotation><xsd:documentation> |
|
2203 Emit the resource by itself if it is not generated as an expression or |
|
2204 by a LINK or LLINK. |
|
2205 </xsd:documentation></xsd:annotation> |
|
2206 </xsd:enumeration> |
|
2207 <xsd:enumeration value="always"> |
|
2208 <xsd:annotation><xsd:documentation> |
|
2209 Always emit the resource by itself, even if already generated as an expression. |
|
2210 </xsd:documentation></xsd:annotation> |
|
2211 </xsd:enumeration> |
|
2212 </xsd:restriction> |
|
2213 </xsd:simpleType> |
|
2214 |
|
2215 <xsd:element name="mapResource"> |
|
2216 <xsd:annotation><xsd:documentation> |
|
2217 Map an instance to a RESOURCE. |
|
2218 </xsd:documentation></xsd:annotation> |
|
2219 <xsd:complexType> |
|
2220 <xsd:complexContent> |
|
2221 <xsd:extension base="mappingResourceType"> |
|
2222 <xsd:attribute default="false" name="unnamed" type="xsd:boolean" use="optional"> |
|
2223 <xsd:annotation><xsd:documentation> |
|
2224 This tells whether to emit the resource without a name |
|
2225 </xsd:documentation></xsd:annotation> |
|
2226 </xsd:attribute> |
|
2227 <xsd:attribute default="default" name="standalone" type="standaloneType" use="optional"> |
|
2228 <xsd:annotation><xsd:documentation> |
|
2229 This tells whether the resource must be emitted as a standalone resource statement (always), |
|
2230 regardless of whether it is also generated as a resource expression, or whether it |
|
2231 will never be emitted unless referenced by another resource (never). The default behavior |
|
2232 is to emit it if not generated as an expression. |
|
2233 </xsd:documentation></xsd:annotation> |
|
2234 </xsd:attribute> |
|
2235 <xsd:attribute name="baseName" type="xsd:string" use="optional"> |
|
2236 <xsd:annotation><xsd:documentation> |
|
2237 Force the base name of the resource. If unspecified, resources are |
|
2238 named after the instance and member or element being mapped. |
|
2239 </xsd:documentation></xsd:annotation> |
|
2240 </xsd:attribute> |
|
2241 <xsd:attribute name="rssFile" type="xsd:string" use="optional"> |
|
2242 <xsd:annotation><xsd:documentation> |
|
2243 Force the RSS filename (but not directory). This is used to redirect |
|
2244 resources to a top-level RSS file. |
|
2245 </xsd:documentation></xsd:annotation> |
|
2246 </xsd:attribute> |
|
2247 </xsd:extension> |
|
2248 </xsd:complexContent> |
|
2249 </xsd:complexType> |
|
2250 </xsd:element> |
|
2251 |
|
2252 <!-- added post 1.2 --> |
|
2253 <xsd:element name="sourceTypeMapping"> |
|
2254 <xsd:annotation> |
|
2255 <xsd:documentation> |
|
2256 The sourceTypeMapping element mirrors sourceMapping but provides stored source |
|
2257 mapping data for use by compound or enum types. |
|
2258 </xsd:documentation> |
|
2259 </xsd:annotation> |
|
2260 <xsd:complexType> |
|
2261 <xsd:sequence> |
|
2262 <xsd:choice maxOccurs="unbounded" minOccurs="0"> |
|
2263 <xsd:element ref="mapResourceType"/> |
|
2264 <xsd:element ref="mapEnumType"/> |
|
2265 <xsd:element ref="mapSimpleType"/> |
|
2266 <xsd:element ref="mapFixedType"/> |
|
2267 <xsd:element ref="mapBitmaskType"/> |
|
2268 <xsd:element ref="mapIdentifierType"/> |
|
2269 <xsd:element ref="mapReferenceType"/> |
|
2270 <xsd:element ref="mapArrayType"/> |
|
2271 <xsd:element ref="select"/> |
|
2272 </xsd:choice> |
|
2273 </xsd:sequence> |
|
2274 </xsd:complexType> |
|
2275 </xsd:element> |
|
2276 |
|
2277 </xsd:schema> |