forked from PowerShell/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask.xsd
More file actions
464 lines (464 loc) · 21.4 KB
/
task.xsd
File metadata and controls
464 lines (464 loc) · 21.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
<?xml version="1.0" encoding="utf-8"?>
<schema targetNamespace="http://schemas.microsoft.com/maml/2004/10" xmlns:doc="http://schemas.microsoft.com/maml/internal" xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all" xml:lang="en">
<!-- Schema documentation -->
<annotation>
<documentation>This schema file defines the schema for an automated procedural file.</documentation>
</annotation>
<!-- include and import declarations -->
<include schemaLocation="hierarchy.xsd"/>
<include schemaLocation="shellExecute.xsd"/>
<!-- Type declarations -->
<complexType name="actionReferenceType">
<annotation>
<documentation>Refers to a UI element that is stored in a different schema.</documentation>
</annotation>
<complexContent>
<extension base="maml:textBlockType">
<attribute name="actionIdref" type="Name">
<annotation>
<documentation>Refers to a uiAction element inside the taskExecutionBlock element.</documentation>
</annotation>
</attribute>
<attribute name="waitFactor" type="float" default="1.0">
<annotation>
<documentation>Not yet implemented.</documentation>
</annotation>
</attribute>
<attribute name="modeOverride" type="maml:playbackModeEnumType">
<annotation>
<documentation>Not yet implemented.</documentation>
</annotation>
</attribute>
<attribute name="onlyShowInMode" type="maml:playbackModeEnumType">
<annotation>
<documentation>Instructs ACW to show the action only in the specified playback mode (do it or show me).</documentation>
</annotation>
</attribute>
<attribute name="actOnSelection" type="boolean">
<annotation>
<documentation>Instructs ACW to act on the user's current selection (for example, a list item). Use actOnSelection in cases where a user is required to make a selection from a set of options that are not known at authoring time.</documentation>
</annotation>
</attribute>
<attribute name="autoSelectIfOneOption" type="boolean">
<annotation>
<documentation>Instructs ACW to select the sole option in cases where only one option is available. Use caution when applying this attribute, as it may not be appropriate in some situations.</documentation>
</annotation>
</attribute>
<attribute name="commitsChange" type="boolean" use="optional">
<annotation>
<documentation>Set to true to indicate that this step commits a change (for example, this is a "Click OK" step). Set to false to indicate that this step doesn't actually perform any action (e.g. clicks a button that opens a dialog, or sets a checkbox but doesn't commit it). Helps the ACW runtime understand, when it ends, if it needs to try to show undo steps, or if no actions have actually happened.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
<element name="automatedTask">
<annotation>
<documentation>The root element for the automated task content type. Use the automated task content type to create topics that host Active Content Wizard (ACW) tasks. ACW tasks can either guide users through a task incrementally, or perform the task automatically.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="maml:taskType">
<attribute name="contentType" type="token" fixed="ACWProcedure">
<annotation>
<documentation>Specifies the type of content for the document.</documentation>
</annotation>
</attribute>
<attribute name="showWelcome" type="boolean">
<annotation>
<documentation>Specifies whether a welcome message should be displayed upon launching an Active Content Wizard (ACW) task. The welcome message contains a short description of the task, and prompts the user to select a playback mode (do it or show me). The default value is true.</documentation>
</annotation>
</attribute>
<attribute name="showFinished" type="boolean">
<annotation>
<documentation>Specifies whether a summary should be displayed upon completing an Active Content Wizard (ACW) task. The default value is true.</documentation>
</annotation>
</attribute>
<attribute name="version" type="string" fixed="M8">
<annotation>
<documentation>Not yet implemented. Specifies the version of the Active Content Wizard (ACW) script code for the current task. Used for troubleshooting.</documentation>
</annotation>
</attribute>
<attribute name="undoPossible" type="boolean">
<annotation>
<documentation>Setting this to False means that the runtime should not show any generated undo steps when the task ends. Setting this to True means that the runtime should show undo steps when the task ends.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
</element>
<element name="taskProcedure" type="maml:taskProcedureType">
<annotation>
<documentation>Describes a list of steps the user needs to perform in order to complete the task.</documentation>
</annotation>
</element>
<element name="author">
<annotation>
<documentation>Provides information about the author of the document.</documentation>
</annotation>
<complexType>
<sequence>
<element name="authorName" type="string" minOccurs="0">
<annotation>
<documentation>Specifies the name of the author.</documentation>
</annotation>
</element>
<element name="authorURI" type="anyURI" minOccurs="0">
<annotation>
<documentation>Specifies a URI that can be used to link to further information or resources related to the author.</documentation>
</annotation>
</element>
<element name="authorMessage" type="string" minOccurs="0">
<annotation>
<documentation>Contains descriptive text about the author.</documentation>
</annotation>
</element>
<element name="authorImageURI" type="anyURI" minOccurs="0">
<annotation>
<documentation>Specifies a URI that can be used to link to a graphic image of the author.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
<complexType name="taskType">
<annotation>
<documentation>Describes a set of steps that can be executed as an automated task (ACW), or displayed as a help topic.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="maml:title"/>
<element ref="maml:introduction" minOccurs="0">
<annotation>
<documentation>Introduction text for the task.</documentation>
</annotation>
</element>
<element ref="maml:taskProcedure">
<annotation>
<documentation>A procedure is a list of steps to take that should complete the task.</documentation>
</annotation>
</element>
<element ref="maml:content" minOccurs="0"/>
<element ref="maml:sections" minOccurs="0"/>
<element ref="maml:alertSet" minOccurs="0"/>
<element ref="maml:relatedLinks" minOccurs="0"/>
<element ref="maml:author" minOccurs="0">
<annotation>
<documentation>Allows creator of the content file to provide information about themselves</documentation>
</annotation>
</element>
<element name="taskExecutionBlock" minOccurs="0">
<annotation>
<documentation>Contains computer-generated automation markup. Do not manually edit the contents of this element.</documentation>
</annotation>
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="skip"/>
</sequence>
</complexType>
</element>
</sequence>
<attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
</complexType>
<complexType name="taskProcedureType">
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="maml:textStep">
<annotation>
<documentation>This step consists of nothing but text. In show-me, it's a step by itself. In Do-it, it's either ignored, or we stop to show, depending on attribute value</documentation>
</annotation>
</element>
<element ref="maml:uiActionsStep">
<annotation>
<documentation>The step consists of one or more clicks on UI elements. </documentation>
</annotation>
</element>
<element ref="maml:stopStep">
<annotation>
<documentation>If the "condition" attribute in the step tag returns true then print the text inside here and stop the procedure</documentation>
</annotation>
</element>
<element ref="maml:userChoiceStep">
<annotation>
<documentation>Present the user with a list of radio-button options, and invite him to choose one.</documentation>
</annotation>
</element>
<element ref="maml:gotoStep">
<annotation>
<documentation>Instead of executing the next step in this task, execute the one with the same ID as the ID specified here</documentation>
</annotation>
</element>
<element ref="maml:commandStep">
<annotation>
<documentation>A step that launches a shell execute command line</documentation>
</annotation>
</element>
<element ref="maml:subTask">
<annotation>
<documentation>Can mingle subTasks with a step. To call a subTask in another file, use the replaceWith attribute</documentation>
</annotation>
</element>
<element ref="maml:stepGroup">
<annotation>
<documentation>A way of grouping steps together, for purposes of applying a state condition or runtime condition to several steps</documentation>
</annotation>
</element>
</choice>
<attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
</complexType>
<element name="textStep">
<annotation>
<documentation>Describes a step that consists solely of text. If the task is being run in Show Me mode, it functions as a step in the procedure. In Do It mode, it is either ignored, or automation pauses to display the text, depending on the value set in the showDuringDoIt attribute.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="maml:textBlockType">
<attribute name="messageType" type="maml:messageTypeEnumType"/>
<attribute name="showDuringDoIt" type="boolean"/>
<attributeGroup ref="maml:stepAttGrp"/>
<attribute name="timeoutInSeconds" type="int"/>
<attribute name="textStepDisplay" type="maml:textStepDisplayType"/>
</extension>
</complexContent>
</complexType>
</element>
<element name="uiActionsStep">
<annotation>
<documentation>Describes one or more actions to perform on UI elements.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="maml:uiActionsStepType">
<attributeGroup ref="maml:stepAttGrp"/>
</extension>
</complexContent>
</complexType>
</element>
<element name="stopStep">
<annotation>
<documentation>Indicates whether a procedure should stop at the current point, based on the condition attribute. If the value in the condition attribute evaluates to true, the procedure stops, and any remaining text is displayed.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="maml:textBlockType">
<attributeGroup ref="maml:stepAttGrp"/>
<attribute name="stopReason" type="maml:stopReasonEnumType"/>
</extension>
</complexContent>
</complexType>
</element>
<element name="userChoiceStep">
<annotation>
<documentation>Displays a list of choices for the user. The script specifies steps to run for each choice.</documentation>
</annotation>
<complexType>
<sequence>
<element name="userChoiceIntro" type="maml:textBlockType" minOccurs="0">
<annotation>
<documentation>Provides information about user choices. Contains introductory text for a userChoiceStep element.</documentation>
</annotation>
</element>
<element ref="maml:option" maxOccurs="unbounded">
<annotation>
<documentation>Each radio button option is in an Option tag. The option's text is in the Para tag, and if the user chooses this option, goto the associated target.</documentation>
</annotation>
</element>
<element name="userChoicePrompt" type="maml:textBlockType" minOccurs="0">
<annotation>
<documentation>Contains text that prompts the user to choose from options defined in the userChoiceStep element.</documentation>
</annotation>
</element>
</sequence>
<attribute name="default" type="IDREF" use="optional">
<annotation>
<documentation>Indicates which user option should be the default.</documentation>
</annotation>
</attribute>
<attributeGroup ref="maml:stepAttGrp"/>
</complexType>
</element>
<element name="gotoStep">
<annotation>
<documentation>Skips forward or backward in the current sequence, to the step with the specified ID.</documentation>
</annotation>
<complexType>
<attribute name="idref" type="Name" use="required">
<annotation>
<documentation>Specifies the IDREF for a step within a sequence. This value must match the id of another step in the document.</documentation>
</annotation>
</attribute>
<attributeGroup ref="maml:stepAttGrp"/>
</complexType>
</element>
<element name="commandStep">
<annotation>
<documentation>Runs a Windows shell command. This element is the programmatic equivalent of clicking Start, clicking Run, and then entering a command.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="maml:description"/>
<element ref="maml:command"/>
</sequence>
<attributeGroup ref="maml:stepAttGrp"/>
</complexType>
</element>
<element name="subTask" type="maml:subTaskType">
<annotation>
<documentation>Adds a subTask to a step. Use the reusableContentEntry attribute to include a subTask element that has been defined in a different file.</documentation>
</annotation>
</element>
<element name="stepGroup">
<annotation>
<documentation>Groups steps together so that standard MAML conditions, and the ifPresent attribute, can be applied to several steps at once. </documentation>
</annotation>
<complexType>
<complexContent>
<extension base="maml:taskProcedureType">
<attribute name="ifPresent" type="boolean">
<annotation>
<documentation>Describes actions to perform only if a particular UI element, such as an error message dialog, is present. Otherwise the actions are skipped. Set the ifPresent attribute to true in cases where a UI element does not appear consistently, or may appear unexpectedly.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
</element>
<complexType name="subTaskType">
<complexContent>
<extension base="maml:taskType">
<attribute name="ifPresent" type="boolean" default="false">
<annotation>
<documentation>Describes actions to perform only if a particular UI element, such as an error message dialog, is present. Otherwise the actions are skipped. Set the ifPresent attribute to true in cases where a UI element does not appear consistently, or may appear unexpectedly. The default value is false.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
<element name="option">
<annotation>
<documentation>Specifies a single option in a list of single-choice options. Use a para element to specify the text for the option. Alternatively, specifies a branch condition, which can either be explicitly chosen by the user, or by a state condition check.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="maml:optionType">
<attributeGroup ref="maml:expandCollapseGroup"/>
</extension>
</complexContent>
</complexType>
</element>
<complexType name="optionType">
<annotation>
<documentation>This is to represent a branch condition (either explicitly chosen by the user or by a state condition check.)</documentation>
</annotation>
<sequence>
<element name="optionLabel" type="normalizedString">
<annotation>
<documentation>Specifies the label text to display for an option.</documentation>
</annotation>
</element>
<element name="branch" type="maml:taskProcedureType">
<annotation>
<documentation>Contains the steps to run if the user chooses the associated option.</documentation>
</annotation>
</element>
</sequence>
<attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
</complexType>
<complexType name="uiActionsStepType">
<annotation>
<documentation>Encodes some sequence of UI actions.</documentation>
</annotation>
<sequence>
<element name="actionRef" type="maml:actionReferenceType" maxOccurs="unbounded">
<annotation>
<documentation>Each action has an ID that refers to the action's complete structure, stored elsewhere.</documentation>
</annotation>
</element>
<element ref="maml:description">
<annotation>
<documentation>Full text description of the entire step. May encompass more than one click action.</documentation>
</annotation>
</element>
<element name="undoDescription" type="maml:undoDescriptionType" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>Text description of how to undo this step. To be displayed when task finishes.</documentation>
</annotation>
</element>
<element ref="maml:onFailure" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="ifPresent" type="boolean"/>
</complexType>
<complexType name="undoDescriptionType">
<complexContent>
<extension base="maml:textBlockType">
<attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
<attribute name="actionIdref" type="Name"/>
</extension>
</complexContent>
</complexType>
<attributeGroup name="runtimeConditionAttGrp">
<attribute name="runtimeConditionID" type="string"/>
</attributeGroup>
<attributeGroup name="stepAttGrp">
<attributeGroup ref="maml:contentIdentificationSharingAndConditionGroup"/>
<attribute name="runtimeCondition" type="string"/>
<attribute name="id" type="Name">
<annotation>
<documentation>Unique identifier for the step. (Note: This attribute is not of type ID because the 'address' attribute already uses ID, and XSD forbids two attributes of type ID on a single element).</documentation>
</annotation>
</attribute>
</attributeGroup>
<simpleType name="failureReasonEnumType">
<restriction base="string">
<enumeration value="disabled"/>
<enumeration value="notFound"/>
<enumeration value="noElements"/>
<enumeration value="defaultReason"/>
</restriction>
</simpleType>
<simpleType name="playbackModeEnumType">
<restriction base="string">
<enumeration value="DoIt"/>
<enumeration value="ShowMe"/>
</restriction>
</simpleType>
<simpleType name="messageTypeEnumType">
<restriction base="string">
<enumeration value="information"/>
<enumeration value="warning"/>
</restriction>
</simpleType>
<simpleType name="stopReasonEnumType">
<restriction base="string">
<enumeration value="success"/>
<enumeration value="failure"/>
</restriction>
</simpleType>
<simpleType name="textStepDisplayType">
<restriction base="string">
<enumeration value="showInHelpPaneAndPointingWindow"/>
<enumeration value="showInHelpPaneOnly"/>
<enumeration value="showInPointingWindowOnly"/>
</restriction>
</simpleType>
<element name="onFailure" type="maml:onFailureTaskProcedureType">
<annotation>
<documentation>Contains steps to run if an actionRef fails to execute.</documentation>
</annotation>
</element>
<complexType name="onFailureTaskProcedureType">
<complexContent>
<extension base="maml:taskProcedureType">
<attribute name="actionIdref" type="Name">
<annotation>
<documentation>Refers to a uiAction element inside the taskExecutionBlock.</documentation>
</annotation>
</attribute>
<attribute name="reason" type="maml:failureReasonEnumType">
<annotation>
<documentation>Specifies the reason for failure using an enumeration value of type failureReasonEnumType.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
</schema>