sessionm-vast 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +51 -0
  3. data/lib/vast/ad.rb +103 -0
  4. data/lib/vast/companion_creative.rb +81 -0
  5. data/lib/vast/creative.rb +62 -0
  6. data/lib/vast/document.rb +71 -0
  7. data/lib/vast/element.rb +9 -0
  8. data/lib/vast/extension.rb +18 -0
  9. data/lib/vast/icon.rb +87 -0
  10. data/lib/vast/inline_ad.rb +22 -0
  11. data/lib/vast/linear_creative.rb +57 -0
  12. data/lib/vast/mediafile.rb +56 -0
  13. data/lib/vast/non_linear_creative.rb +97 -0
  14. data/lib/vast/wrapper_ad.rb +19 -0
  15. data/lib/vast.rb +33 -0
  16. data/lib/vast3_draft.xsd +1036 -0
  17. data/lib/vast_2.0.1.xsd +643 -0
  18. data/test/ad_test.rb +122 -0
  19. data/test/companion_creative_test.rb +38 -0
  20. data/test/creative_test.rb +35 -0
  21. data/test/document_test.rb +72 -0
  22. data/test/examples/document_with_no_ads.xml +3 -0
  23. data/test/examples/document_with_one_inline_ad.xml +121 -0
  24. data/test/examples/document_with_one_inline_and_one_wrapper_ad.xml +105 -0
  25. data/test/examples/document_with_one_wrapper_ad.xml +40 -0
  26. data/test/examples/document_with_two_inline_ads.xml +120 -0
  27. data/test/examples/invalid_document.xml +3 -0
  28. data/test/examples/invalid_document_with_missing_ad_type.xml +58 -0
  29. data/test/examples/invalid_document_with_missing_creative_type.xml +39 -0
  30. data/test/examples/vast3_inline.xml +86 -0
  31. data/test/extension_test.rb +20 -0
  32. data/test/inline_ad_test.rb +14 -0
  33. data/test/linear_creative_test.rb +26 -0
  34. data/test/mediafile_test.rb +20 -0
  35. data/test/non_linear_creative_test.rb +39 -0
  36. data/test/test_helper.rb +13 -0
  37. data/test/vast3_inline_ad_test.rb +23 -0
  38. data/test/wrapper_ad_test.rb +16 -0
  39. metadata +94 -0
@@ -0,0 +1,1036 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
+ <xs:element name="VAST">
4
+ <xs:annotation>
5
+ <xs:documentation>IAB VAST, Video Ad Serving Template, video xml ad response, Version 3.0.0, xml schema prepared by Google</xs:documentation>
6
+ </xs:annotation>
7
+ <xs:complexType>
8
+ <xs:sequence>
9
+ <xs:element name="Ad" maxOccurs="unbounded" minOccurs="0">
10
+ <xs:annotation>
11
+ <xs:documentation>Top-level element, wraps each ad in the response</xs:documentation>
12
+ </xs:annotation>
13
+ <xs:complexType>
14
+ <xs:choice maxOccurs="1" minOccurs="1">
15
+ <xs:element name="InLine" maxOccurs="1" minOccurs="0">
16
+ <xs:annotation>
17
+ <xs:documentation>Second-level element surrounding complete ad data for a single ad</xs:documentation>
18
+ </xs:annotation>
19
+ <xs:complexType>
20
+ <xs:sequence>
21
+ <xs:element name="AdSystem" maxOccurs="1" minOccurs="1" type="AdSystem_type">
22
+ <xs:annotation>
23
+ <xs:documentation>Indicates source ad server</xs:documentation>
24
+ </xs:annotation>
25
+ </xs:element>
26
+ <xs:element name="AdTitle" type="xs:string" maxOccurs="1" minOccurs="1">
27
+ <xs:annotation>
28
+ <xs:documentation>Common name of ad</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1">
32
+ <xs:annotation>
33
+ <xs:documentation>Longer description of ad</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:element name="Advertiser" type="xs:string" minOccurs="0" maxOccurs="1">
37
+ <xs:annotation>
38
+ <xs:documentation>Common name of advertiser</xs:documentation>
39
+ </xs:annotation>
40
+ </xs:element>
41
+ <xs:element name="Pricing" minOccurs="0" maxOccurs="1">
42
+ <xs:annotation>
43
+ <xs:documentation>The price of the ad.</xs:documentation>
44
+ </xs:annotation>
45
+ <xs:complexType>
46
+ <xs:simpleContent>
47
+ <xs:extension base="xs:decimal">
48
+ <xs:attribute name="model" use="required">
49
+ <xs:annotation>
50
+ <xs:documentation>The pricing model used.</xs:documentation>
51
+ </xs:annotation>
52
+ <xs:simpleType>
53
+ <xs:restriction base="xs:NMTOKEN">
54
+ <xs:enumeration value="cpc" />
55
+ <xs:enumeration value="cpm" />
56
+ <xs:enumeration value="cpe" />
57
+ <xs:enumeration value="cpv" />
58
+ </xs:restriction>
59
+ </xs:simpleType>
60
+ </xs:attribute>
61
+ <xs:attribute name="currency" use="required">
62
+ <xs:annotation>
63
+ <xs:documentation>The currency of the pricing.</xs:documentation>
64
+ </xs:annotation>
65
+ <xs:simpleType>
66
+ <xs:restriction base="xs:string">
67
+ <xs:pattern value="[a-zA-Z]{3}" />
68
+ </xs:restriction>
69
+ </xs:simpleType>
70
+ </xs:attribute>
71
+ </xs:extension>
72
+ </xs:simpleContent>
73
+ </xs:complexType>
74
+ </xs:element>
75
+ <xs:element name="Survey" type="xs:anyURI" minOccurs="0" maxOccurs="1">
76
+ <xs:annotation>
77
+ <xs:documentation>URL of request to survey vendor</xs:documentation>
78
+ </xs:annotation>
79
+ </xs:element>
80
+ <xs:element name="Error" type="xs:anyURI" minOccurs="0" maxOccurs="1">
81
+ <xs:annotation>
82
+ <xs:documentation>URL to request if ad does not play due to error</xs:documentation>
83
+ </xs:annotation>
84
+ </xs:element>
85
+ <xs:element name="Impression" type="Impression_type" maxOccurs="unbounded" minOccurs="1" />
86
+ <xs:element maxOccurs="1" minOccurs="1" name="Creatives">
87
+ <xs:annotation>
88
+ <xs:documentation>Contains all creative elements within an InLine or Wrapper Ad</xs:documentation>
89
+ </xs:annotation>
90
+ <xs:complexType>
91
+ <xs:sequence>
92
+ <xs:element name="Creative" maxOccurs="unbounded">
93
+ <xs:annotation>
94
+ <xs:documentation>Wraps each creative element within an InLine or Wrapper Ad</xs:documentation>
95
+ </xs:annotation>
96
+ <xs:complexType>
97
+ <xs:choice>
98
+ <xs:element name="Linear" minOccurs="0" maxOccurs="1">
99
+ <xs:complexType>
100
+ <xs:sequence>
101
+ <xs:element name="Icons" minOccurs="0" maxOccurs="1">
102
+ <xs:complexType>
103
+ <xs:sequence>
104
+ <xs:element name="Icon" minOccurs="1" maxOccurs="unbounded" type="Icon_type">
105
+ <xs:annotation>
106
+ <xs:documentation>Any number of icons representing advertising industry initiatives.</xs:documentation>
107
+ </xs:annotation>
108
+ </xs:element>
109
+ </xs:sequence>
110
+ </xs:complexType>
111
+ </xs:element>
112
+ <xs:element name="CreativeExtensions" minOccurs="0" maxOccurs="1" type="CreativeExtensions_type" />
113
+ <xs:element name="Duration" type="xs:time" maxOccurs="1" minOccurs="1">
114
+ <xs:annotation>
115
+ <xs:documentation>Duration in standard time format, hh:mm:ss</xs:documentation>
116
+ </xs:annotation>
117
+ </xs:element>
118
+ <xs:element name="TrackingEvents" minOccurs="0" type="TrackingEvents_type" maxOccurs="1" />
119
+ <xs:element name="AdParameters" minOccurs="0" maxOccurs="1" type="AdParameters_type">
120
+ <xs:annotation>
121
+ <xs:documentation>Data to be passed into the video ad</xs:documentation>
122
+ </xs:annotation>
123
+ </xs:element>
124
+ <xs:element name="VideoClicks" minOccurs="0" type="VideoClicks_type" maxOccurs="1" />
125
+ <xs:element name="MediaFiles" minOccurs="0" maxOccurs="1">
126
+ <xs:complexType>
127
+ <xs:sequence>
128
+ <xs:element name="MediaFile" minOccurs="1" maxOccurs="unbounded">
129
+ <xs:annotation>
130
+ <xs:documentation>Location of linear file</xs:documentation>
131
+ </xs:annotation>
132
+ <xs:complexType>
133
+ <xs:simpleContent>
134
+ <xs:extension base="xs:anyURI">
135
+ <xs:attribute name="id" type="xs:string" use="optional">
136
+ <xs:annotation>
137
+ <xs:documentation>Optional identifier</xs:documentation>
138
+ </xs:annotation>
139
+ </xs:attribute>
140
+ <xs:attribute name="delivery" use="required">
141
+ <xs:annotation>
142
+ <xs:documentation>Method of delivery of ad</xs:documentation>
143
+ </xs:annotation>
144
+ <xs:simpleType>
145
+ <xs:restriction base="xs:NMTOKEN">
146
+ <xs:enumeration value="streaming" />
147
+ <xs:enumeration value="progressive" />
148
+ </xs:restriction>
149
+ </xs:simpleType>
150
+ </xs:attribute>
151
+ <xs:attribute name="type" use="required" type="xs:string">
152
+ <xs:annotation>
153
+ <xs:documentation>MIME type. Popular MIME types include, but are not limited to “video/x-ms-wmv” for Windows Media, and “video/x-flv” for Flash Video. Image ads or interactive ads can be included in the MediaFiles section with appropriate Mime
154
+ types</xs:documentation>
155
+ </xs:annotation>
156
+ </xs:attribute>
157
+ <xs:attribute name="bitrate" type="xs:integer" use="optional">
158
+ <xs:annotation>
159
+ <xs:documentation>Bitrate of encoded video in Kbps. If bitrate is supplied, minBitrate and maxBitrate should not be supplied.</xs:documentation>
160
+ </xs:annotation>
161
+ </xs:attribute>
162
+ <xs:attribute name="minBitrate" type="xs:integer" use="optional">
163
+ <xs:annotation>
164
+ <xs:documentation>Minimum bitrate of an adaptive stream in Kbps. If minBitrate is supplied, maxBitrate must be supplied and bitrate should not be supplied.</xs:documentation>
165
+ </xs:annotation>
166
+ </xs:attribute>
167
+ <xs:attribute name="maxBitrate" type="xs:integer" use="optional">
168
+ <xs:annotation>
169
+ <xs:documentation>Maximum bitrate of an adaptive stream in Kbps. If maxBitrate is supplied, minBitrate must be supplied and bitrate should not be supplied.</xs:documentation>
170
+ </xs:annotation>
171
+ </xs:attribute>
172
+ <xs:attribute name="width" type="xs:integer" use="required">
173
+ <xs:annotation>
174
+ <xs:documentation>Pixel dimensions of video</xs:documentation>
175
+ </xs:annotation>
176
+ </xs:attribute>
177
+ <xs:attribute name="height" type="xs:integer" use="required">
178
+ <xs:annotation>
179
+ <xs:documentation>Pixel dimensions of video</xs:documentation>
180
+ </xs:annotation>
181
+ </xs:attribute>
182
+ <xs:attribute name="scalable" type="xs:boolean" use="optional">
183
+ <xs:annotation>
184
+ <xs:documentation>Whether it is acceptable to scale the image.</xs:documentation>
185
+ </xs:annotation>
186
+ </xs:attribute>
187
+ <xs:attribute name="maintainAspectRatio" type="xs:boolean" use="optional">
188
+ <xs:annotation>
189
+ <xs:documentation>Whether the ad must have its aspect ratio maintained when scales</xs:documentation>
190
+ </xs:annotation>
191
+ </xs:attribute>
192
+ <xs:attribute name="apiFramework" type="xs:string" use="optional">
193
+ <xs:annotation>
194
+ <xs:documentation>The apiFramework defines the method to use for communication if the MediaFile is interactive. Suggested values for this element are “VPAID”, “FlashVars” (for Flash/Flex), “initParams” (for Silverlight) and “GetVariables”
195
+ (variables placed in key/value pairs on the asset request).</xs:documentation>
196
+ </xs:annotation>
197
+ </xs:attribute>
198
+ <xs:attribute name="codec" use="optional" type="xs:string">
199
+ <xs:annotation>
200
+ <xs:documentation>The codec used to produce the media file.</xs:documentation>
201
+ </xs:annotation>
202
+ </xs:attribute>
203
+ </xs:extension>
204
+ </xs:simpleContent>
205
+ </xs:complexType>
206
+ </xs:element>
207
+ </xs:sequence>
208
+ </xs:complexType>
209
+ </xs:element>
210
+ </xs:sequence>
211
+ <xs:attribute name="skipoffset" use="optional">
212
+ <xs:annotation>
213
+ <xs:documentation>The time at which the ad becomes skippable, if absent, the ad is not skippable.</xs:documentation>
214
+ </xs:annotation>
215
+ <xs:simpleType>
216
+ <xs:restriction base="xs:string">
217
+ <xs:pattern value="(\d{2}:[0-5]\d:[0-5]\d(\.\d\d\d)?|1?\d?\d(\.?\d)*%)" />
218
+ </xs:restriction>
219
+ </xs:simpleType>
220
+ </xs:attribute>
221
+ </xs:complexType>
222
+ </xs:element>
223
+ <xs:element name="CompanionAds" minOccurs="0" maxOccurs="1">
224
+ <xs:complexType>
225
+ <xs:sequence>
226
+ <xs:element name="Companion" minOccurs="0" maxOccurs="unbounded" type="Companion_type">
227
+ <xs:annotation>
228
+ <xs:documentation>Any number of companions in any desired pixel dimensions.</xs:documentation>
229
+ </xs:annotation>
230
+ </xs:element>
231
+ </xs:sequence>
232
+ <xs:attribute name="required" use="optional">
233
+ <xs:annotation>
234
+ <xs:documentation>Provides information about which companion creative to display. All means that the player must attempt to display all. Any means the player must attempt to play at least one. None means all companions are optional.</xs:documentation>
235
+ </xs:annotation>
236
+ <xs:simpleType>
237
+ <xs:restriction base="xs:NMTOKEN">
238
+ <xs:enumeration value="all" />
239
+ <xs:enumeration value="any" />
240
+ <xs:enumeration value="none" />
241
+ </xs:restriction>
242
+ </xs:simpleType>
243
+ </xs:attribute>
244
+ </xs:complexType>
245
+ </xs:element>
246
+ <xs:element name="NonLinearAds" minOccurs="0" maxOccurs="1">
247
+ <xs:complexType>
248
+ <xs:sequence>
249
+ <xs:element name="TrackingEvents" minOccurs="0" type="TrackingEvents_type" maxOccurs="1" />
250
+ <xs:element name="NonLinear" minOccurs="1" maxOccurs="unbounded" type="NonLinear_type">
251
+ <xs:annotation>
252
+ <xs:documentation>Any number of companions in any desired pixel dimensions.</xs:documentation>
253
+ </xs:annotation>
254
+ </xs:element>
255
+ </xs:sequence>
256
+ </xs:complexType>
257
+ </xs:element>
258
+ </xs:choice>
259
+ <xs:attribute name="id" type="xs:string" use="optional" />
260
+ <xs:attribute name="sequence" type="xs:integer" use="optional">
261
+ <xs:annotation>
262
+ <xs:documentation>The preferred order in which multiple Creatives should be displayed</xs:documentation>
263
+ </xs:annotation>
264
+ </xs:attribute>
265
+ <xs:attribute name="AdID" type="xs:string" use="optional">
266
+ <xs:annotation>
267
+ <xs:documentation>Ad-ID for the creative (formerly ISCI)</xs:documentation>
268
+ </xs:annotation>
269
+ </xs:attribute>
270
+ </xs:complexType>
271
+ </xs:element>
272
+ </xs:sequence>
273
+ </xs:complexType>
274
+ </xs:element>
275
+ <xs:element name="Extensions" minOccurs="0" maxOccurs="1" type="Extensions_type" />
276
+ </xs:sequence>
277
+ </xs:complexType>
278
+ </xs:element>
279
+ <xs:element name="Wrapper" maxOccurs="1" minOccurs="0">
280
+ <xs:annotation>
281
+ <xs:documentation>Second-level element surrounding wrapper ad pointing to Secondary ad server.</xs:documentation>
282
+ </xs:annotation>
283
+ <xs:complexType>
284
+ <xs:sequence>
285
+ <xs:element name="AdSystem" type="AdSystem_type" maxOccurs="1" minOccurs="1">
286
+ <xs:annotation>
287
+ <xs:documentation>Indicates source ad server</xs:documentation>
288
+ </xs:annotation>
289
+ </xs:element>
290
+ <xs:element name="VASTAdTagURI" type="xs:anyURI" maxOccurs="1" minOccurs="1">
291
+ <xs:annotation>
292
+ <xs:documentation>URL of ad tag of downstream Secondary Ad Server</xs:documentation>
293
+ </xs:annotation>
294
+ </xs:element>
295
+ <xs:element name="Error" type="xs:anyURI" minOccurs="0" maxOccurs="1">
296
+ <xs:annotation>
297
+ <xs:documentation>URL to request if ad does not play due to error</xs:documentation>
298
+ </xs:annotation>
299
+ </xs:element>
300
+ <xs:element name="Impression" type="xs:anyURI" maxOccurs="unbounded" minOccurs="1">
301
+ <xs:annotation>
302
+ <xs:documentation>URL to request to track an impression</xs:documentation>
303
+ </xs:annotation>
304
+ </xs:element>
305
+ <xs:element name="Creatives">
306
+ <xs:complexType>
307
+ <xs:sequence>
308
+ <xs:element name="Creative" maxOccurs="unbounded" minOccurs="0">
309
+ <xs:complexType>
310
+ <xs:choice>
311
+ <xs:element name="Linear" minOccurs="0" maxOccurs="1">
312
+ <xs:complexType>
313
+ <xs:sequence>
314
+ <xs:element name="CreativeExtensions" minOccurs="0" maxOccurs="1" type="CreativeExtensions_type" />
315
+ <xs:element name="Icons" minOccurs="0" maxOccurs="1">
316
+ <xs:complexType>
317
+ <xs:sequence>
318
+ <xs:element name="Icon" minOccurs="1" maxOccurs="unbounded" type="Icon_type">
319
+ <xs:annotation>
320
+ <xs:documentation>Any number of icons representing advertising industry initiatives.</xs:documentation>
321
+ </xs:annotation>
322
+ </xs:element>
323
+ </xs:sequence>
324
+ </xs:complexType>
325
+ </xs:element>
326
+ <xs:element name="TrackingEvents" minOccurs="0" type="TrackingEvents_type" maxOccurs="1" />
327
+ <xs:element name="VideoClicks" minOccurs="0" maxOccurs="1">
328
+ <xs:complexType>
329
+ <xs:sequence>
330
+ <xs:element name="ClickTracking" minOccurs="0" maxOccurs="unbounded">
331
+ <xs:annotation>
332
+ <xs:documentation>URL to request for tracking purposes when user clicks on the video</xs:documentation>
333
+ </xs:annotation>
334
+ <xs:complexType>
335
+ <xs:simpleContent>
336
+ <xs:extension base="xs:anyURI">
337
+ <xs:attribute name="id" type="xs:string" use="optional" />
338
+ </xs:extension>
339
+ </xs:simpleContent>
340
+ </xs:complexType>
341
+ </xs:element>
342
+ <xs:element name="CustomClick" minOccurs="0" maxOccurs="unbounded">
343
+ <xs:annotation>
344
+ <xs:documentation>URLs to request on custom events such as hotspotted video</xs:documentation>
345
+ </xs:annotation>
346
+ <xs:complexType>
347
+ <xs:simpleContent>
348
+ <xs:extension base="xs:anyURI">
349
+ <xs:attribute name="id" type="xs:string" use="optional" />
350
+ </xs:extension>
351
+ </xs:simpleContent>
352
+ </xs:complexType>
353
+ </xs:element>
354
+ </xs:sequence>
355
+ </xs:complexType>
356
+ </xs:element>
357
+ </xs:sequence>
358
+ </xs:complexType>
359
+ </xs:element>
360
+ <xs:element name="CompanionAds" minOccurs="0" maxOccurs="1">
361
+ <xs:complexType>
362
+ <xs:sequence>
363
+ <xs:element name="Companion" minOccurs="0" maxOccurs="unbounded" type="CompanionWrapper_type">
364
+ <xs:annotation>
365
+ <xs:documentation>Definition of Companion ad, if served separately</xs:documentation>
366
+ </xs:annotation>
367
+ </xs:element>
368
+ </xs:sequence>
369
+ </xs:complexType>
370
+ </xs:element>
371
+ <xs:element name="NonLinearAds" minOccurs="0" maxOccurs="1">
372
+ <xs:complexType>
373
+ <xs:sequence>
374
+ <xs:element name="TrackingEvents" minOccurs="0" type="TrackingEvents_type" maxOccurs="1" />
375
+ <xs:element name="NonLinear" minOccurs="0" maxOccurs="unbounded" type="NonLinearWrapper_type">
376
+ <xs:annotation>
377
+ <xs:documentation>Any number of companions in any desired pixel dimensions.</xs:documentation>
378
+ </xs:annotation>
379
+ </xs:element>
380
+ </xs:sequence>
381
+ </xs:complexType>
382
+ </xs:element>
383
+ </xs:choice>
384
+ <xs:attribute name="id" type="xs:string" use="optional" />
385
+ <xs:attribute name="sequence" type="xs:integer" use="optional">
386
+ <xs:annotation>
387
+ <xs:documentation>The preferred order in which multiple Creatives should be displayed</xs:documentation>
388
+ </xs:annotation>
389
+ </xs:attribute>
390
+ <xs:attribute name="AdID" type="xs:string" use="optional">
391
+ <xs:annotation>
392
+ <xs:documentation>Ad-ID for the creative (formerly ISCI)</xs:documentation>
393
+ </xs:annotation>
394
+ </xs:attribute>
395
+ </xs:complexType>
396
+ </xs:element>
397
+ </xs:sequence>
398
+ </xs:complexType>
399
+ </xs:element>
400
+ <xs:element name="Extensions" minOccurs="0" maxOccurs="1" type="Extensions_type" />
401
+ </xs:sequence>
402
+ </xs:complexType>
403
+ </xs:element>
404
+ </xs:choice>
405
+ <xs:attribute name="id" type="xs:string" use="optional" />
406
+ <xs:attribute name="sequence" type="xs:integer" use="optional">
407
+ <xs:annotation>
408
+ <xs:documentation>Identifies the sequence of multiple Ads and defines an Ad Pod.</xs:documentation>
409
+ </xs:annotation>
410
+ </xs:attribute>
411
+ </xs:complexType>
412
+ </xs:element>
413
+ </xs:sequence>
414
+ <xs:attribute name="version" type="xs:string" use="required">
415
+ <xs:annotation>
416
+ <xs:documentation>Current version is 3.0.</xs:documentation>
417
+ </xs:annotation>
418
+ </xs:attribute>
419
+ </xs:complexType>
420
+ </xs:element>
421
+ <xs:complexType name="TrackingEvents_type">
422
+ <xs:sequence>
423
+ <xs:element name="Tracking" minOccurs="0" maxOccurs="unbounded">
424
+ <xs:annotation>
425
+ <xs:documentation>The name of the event to track for the element. The creativeView should always be requested when present.</xs:documentation>
426
+ </xs:annotation>
427
+ <xs:complexType>
428
+ <xs:simpleContent>
429
+ <xs:extension base="xs:anyURI">
430
+ <xs:attribute name="event" use="required">
431
+ <xs:annotation>
432
+ <xs:documentation>The name of the event to track. For nonlinear ads these events should be recorded on the video within the ad.</xs:documentation>
433
+ </xs:annotation>
434
+ <xs:simpleType>
435
+ <xs:restriction base="xs:NMTOKEN">
436
+ <xs:enumeration value="creativeView" />
437
+ <xs:enumeration value="start" />
438
+ <xs:enumeration value="firstQuartile" />
439
+ <xs:enumeration value="midpoint" />
440
+ <xs:enumeration value="thirdQuartile" />
441
+ <xs:enumeration value="complete" />
442
+ <xs:enumeration value="mute" />
443
+ <xs:enumeration value="unmute" />
444
+ <xs:enumeration value="pause" />
445
+ <xs:enumeration value="rewind" />
446
+ <xs:enumeration value="resume" />
447
+ <xs:enumeration value="fullscreen" />
448
+ <xs:enumeration value="exitFullscreen" />
449
+ <xs:enumeration value="expand" />
450
+ <xs:enumeration value="collapse" />
451
+ <xs:enumeration value="acceptInvitation" />
452
+ <xs:enumeration value="close" />
453
+ <xs:enumeration value="skip" />
454
+ <xs:enumeration value="progress" />
455
+ </xs:restriction>
456
+ </xs:simpleType>
457
+ </xs:attribute>
458
+ <xs:attribute name="offset" use="optional">
459
+ <xs:annotation>
460
+ <xs:documentation>The time during the video at which this url should be pinged. Must be present for progress event.</xs:documentation>
461
+ </xs:annotation>
462
+ <xs:simpleType>
463
+ <xs:restriction base="xs:string">
464
+ <xs:pattern value="(\d{2}:[0-5]\d:[0-5]\d(\.\d\d\d)?|1?\d?\d(\.?\d)*%)" />
465
+ </xs:restriction>
466
+ </xs:simpleType>
467
+ </xs:attribute>
468
+ </xs:extension>
469
+ </xs:simpleContent>
470
+ </xs:complexType>
471
+ </xs:element>
472
+ </xs:sequence>
473
+ </xs:complexType>
474
+ <xs:complexType name="VideoClicks_type">
475
+ <xs:sequence>
476
+ <xs:element name="ClickThrough" minOccurs="0" maxOccurs="1">
477
+ <xs:annotation>
478
+ <xs:documentation>URL to open as destination page when user clicks on the video</xs:documentation>
479
+ </xs:annotation>
480
+ <xs:complexType>
481
+ <xs:simpleContent>
482
+ <xs:extension base="xs:anyURI">
483
+ <xs:attribute name="id" type="xs:string" use="optional" />
484
+ </xs:extension>
485
+ </xs:simpleContent>
486
+ </xs:complexType>
487
+ </xs:element>
488
+ <xs:element name="ClickTracking" minOccurs="0" maxOccurs="unbounded">
489
+ <xs:annotation>
490
+ <xs:documentation>URL to request for tracking purposes when user clicks on the video</xs:documentation>
491
+ </xs:annotation>
492
+ <xs:complexType>
493
+ <xs:simpleContent>
494
+ <xs:extension base="xs:anyURI">
495
+ <xs:attribute name="id" type="xs:string" use="optional" />
496
+ </xs:extension>
497
+ </xs:simpleContent>
498
+ </xs:complexType>
499
+ </xs:element>
500
+ <xs:element name="CustomClick" minOccurs="0" maxOccurs="unbounded">
501
+ <xs:annotation>
502
+ <xs:documentation>URLs to request on custom events such as hotspotted video</xs:documentation>
503
+ </xs:annotation>
504
+ <xs:complexType>
505
+ <xs:simpleContent>
506
+ <xs:extension base="xs:anyURI">
507
+ <xs:attribute name="id" type="xs:string" use="optional" />
508
+ </xs:extension>
509
+ </xs:simpleContent>
510
+ </xs:complexType>
511
+ </xs:element>
512
+ </xs:sequence>
513
+ </xs:complexType>
514
+ <xs:complexType name="Companion_type">
515
+ <xs:sequence>
516
+ <xs:choice>
517
+ <xs:element name="StaticResource" minOccurs="0" maxOccurs="1">
518
+ <xs:annotation>
519
+ <xs:documentation>URL to a static file, such as an image or SWF file</xs:documentation>
520
+ </xs:annotation>
521
+ <xs:complexType>
522
+ <xs:simpleContent>
523
+ <xs:extension base="xs:anyURI">
524
+ <xs:attribute name="creativeType" type="xs:string" use="required">
525
+ <xs:annotation>
526
+ <xs:documentation>Mime type of static resource</xs:documentation>
527
+ </xs:annotation>
528
+ </xs:attribute>
529
+ </xs:extension>
530
+ </xs:simpleContent>
531
+ </xs:complexType>
532
+ </xs:element>
533
+ <xs:element name="IFrameResource" type="xs:anyURI" minOccurs="0" maxOccurs="1">
534
+ <xs:annotation>
535
+ <xs:documentation>URL source for an IFrame to display the companion element</xs:documentation>
536
+ </xs:annotation>
537
+ </xs:element>
538
+ <xs:element name="HTMLResource" type="HTMLResource_type" minOccurs="0" maxOccurs="1">
539
+ <xs:annotation>
540
+ <xs:documentation>HTML to display the companion element</xs:documentation>
541
+ </xs:annotation>
542
+ </xs:element>
543
+ </xs:choice>
544
+ <xs:element name="CreativeExtensions" minOccurs="0" maxOccurs="1" type="CreativeExtensions_type" />
545
+ <xs:element maxOccurs="1" minOccurs="0" name="TrackingEvents" type="TrackingEvents_type">
546
+ <xs:annotation>
547
+ <xs:documentation>The creativeView should always be requested when present. For Companions creativeView is the only supported event.</xs:documentation>
548
+ </xs:annotation>
549
+ </xs:element>
550
+ <xs:element name="CompanionClickThrough" type="xs:anyURI" minOccurs="0" maxOccurs="1">
551
+ <xs:annotation>
552
+ <xs:documentation>URL to open as destination page when user clicks on the the companion banner ad.</xs:documentation>
553
+ </xs:annotation>
554
+ </xs:element>
555
+ <xs:element name="AltText" type="xs:string" minOccurs="0" maxOccurs="1">
556
+ <xs:annotation>
557
+ <xs:documentation>Alt text to be displayed when companion is rendered in HTML environment.</xs:documentation>
558
+ </xs:annotation>
559
+ </xs:element>
560
+ <xs:element name="AdParameters" minOccurs="0" maxOccurs="1" type="AdParameters_type">
561
+ <xs:annotation>
562
+ <xs:documentation>Data to be passed into the companion ads. The apiFramework defines the method to use for communication (e.g. “FlashVar”)</xs:documentation>
563
+ </xs:annotation>
564
+ </xs:element>
565
+ </xs:sequence>
566
+ <xs:attribute name="id" type="xs:string" use="optional">
567
+ <xs:annotation>
568
+ <xs:documentation>Optional identifier</xs:documentation>
569
+ </xs:annotation>
570
+ </xs:attribute>
571
+ <xs:attribute name="width" type="xs:integer" use="required">
572
+ <xs:annotation>
573
+ <xs:documentation>Pixel dimensions of companion slot</xs:documentation>
574
+ </xs:annotation>
575
+ </xs:attribute>
576
+ <xs:attribute name="height" type="xs:integer" use="required">
577
+ <xs:annotation>
578
+ <xs:documentation>Pixel dimensions of companion slot</xs:documentation>
579
+ </xs:annotation>
580
+ </xs:attribute>
581
+ <xs:attribute name="assetWidth" type="xs:integer" use="optional">
582
+ <xs:annotation>
583
+ <xs:documentation>Pixel dimensions of the companion asset</xs:documentation>
584
+ </xs:annotation>
585
+ </xs:attribute>
586
+ <xs:attribute name="assetHeight" type="xs:integer" use="optional">
587
+ <xs:annotation>
588
+ <xs:documentation>Pixel dimensions of the companion asset</xs:documentation>
589
+ </xs:annotation>
590
+ </xs:attribute>
591
+ <xs:attribute name="expandedWidth" type="xs:integer" use="optional">
592
+ <xs:annotation>
593
+ <xs:documentation>Pixel dimensions of expanding companion ad when in expanded state</xs:documentation>
594
+ </xs:annotation>
595
+ </xs:attribute>
596
+ <xs:attribute name="expandedHeight" type="xs:integer" use="optional">
597
+ <xs:annotation>
598
+ <xs:documentation>Pixel dimensions of expanding companion ad when in expanded state</xs:documentation>
599
+ </xs:annotation>
600
+ </xs:attribute>
601
+ <xs:attribute name="apiFramework" type="xs:string" use="optional">
602
+ <xs:annotation>
603
+ <xs:documentation>The apiFramework defines the method to use for communication with the companion</xs:documentation>
604
+ </xs:annotation>
605
+ </xs:attribute>
606
+ <xs:attribute name="adSlotId" type="xs:string" use="optional">
607
+ <xs:annotation>
608
+ <xs:documentation>Used to match companion creative to publisher placement areas on the page.</xs:documentation>
609
+ </xs:annotation>
610
+ </xs:attribute>
611
+ </xs:complexType>
612
+ <xs:complexType name="CompanionWrapper_type">
613
+ <xs:sequence>
614
+ <xs:choice minOccurs="0">
615
+ <xs:element name="StaticResource" minOccurs="0" maxOccurs="1">
616
+ <xs:annotation>
617
+ <xs:documentation>URL to a static file, such as an image or SWF file</xs:documentation>
618
+ </xs:annotation>
619
+ <xs:complexType>
620
+ <xs:simpleContent>
621
+ <xs:extension base="xs:anyURI">
622
+ <xs:attribute name="creativeType" type="xs:string" use="required">
623
+ <xs:annotation>
624
+ <xs:documentation>Mime type of static resource</xs:documentation>
625
+ </xs:annotation>
626
+ </xs:attribute>
627
+ </xs:extension>
628
+ </xs:simpleContent>
629
+ </xs:complexType>
630
+ </xs:element>
631
+ <xs:element name="IFrameResource" type="xs:anyURI" minOccurs="0" maxOccurs="1">
632
+ <xs:annotation>
633
+ <xs:documentation>URL source for an IFrame to display the companion element</xs:documentation>
634
+ </xs:annotation>
635
+ </xs:element>
636
+ <xs:element name="HTMLResource" type="HTMLResource_type" minOccurs="0" maxOccurs="1">
637
+ <xs:annotation>
638
+ <xs:documentation>HTML to display the companion element</xs:documentation>
639
+ </xs:annotation>
640
+ </xs:element>
641
+ </xs:choice>
642
+ <xs:element name="CreativeExtensions" minOccurs="0" maxOccurs="1" type="CreativeExtensions_type" />
643
+ <xs:element maxOccurs="1" minOccurs="0" name="TrackingEvents" type="TrackingEvents_type">
644
+ <xs:annotation>
645
+ <xs:documentation>The creativeView should always be requested when present. For Companions creativeView is the only supported event.</xs:documentation>
646
+ </xs:annotation>
647
+ </xs:element>
648
+ <xs:element name="CompanionClickThrough" type="xs:anyURI" minOccurs="0" maxOccurs="1">
649
+ <xs:annotation>
650
+ <xs:documentation>URL to open as destination page when user clicks on the the companion banner ad.</xs:documentation>
651
+ </xs:annotation>
652
+ </xs:element>
653
+ <xs:element name="CompanionClickTracking" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
654
+ <xs:annotation>
655
+ <xs:documentation>URLs to ping when user clicks on the the companion banner ad.</xs:documentation>
656
+ </xs:annotation>
657
+ </xs:element>
658
+ <xs:element name="AltText" type="xs:string" minOccurs="0" maxOccurs="1">
659
+ <xs:annotation>
660
+ <xs:documentation>Alt text to be displayed when companion is rendered in HTML environment.</xs:documentation>
661
+ </xs:annotation>
662
+ </xs:element>
663
+ <xs:element name="AdParameters" minOccurs="0" maxOccurs="1" type="AdParameters_type">
664
+ <xs:annotation>
665
+ <xs:documentation>Data to be passed into the companion ads. The apiFramework defines the method to use for communication (e.g. “FlashVar”)</xs:documentation>
666
+ </xs:annotation>
667
+ </xs:element>
668
+ </xs:sequence>
669
+ <xs:attribute name="id" type="xs:string" use="optional">
670
+ <xs:annotation>
671
+ <xs:documentation>Optional identifier</xs:documentation>
672
+ </xs:annotation>
673
+ </xs:attribute>
674
+ <xs:attribute name="width" type="xs:integer" use="required">
675
+ <xs:annotation>
676
+ <xs:documentation>Pixel dimensions of companion slot</xs:documentation>
677
+ </xs:annotation>
678
+ </xs:attribute>
679
+ <xs:attribute name="height" type="xs:integer" use="required">
680
+ <xs:annotation>
681
+ <xs:documentation>Pixel dimensions of companion slot</xs:documentation>
682
+ </xs:annotation>
683
+ </xs:attribute>
684
+ <xs:attribute name="assetWidth" type="xs:integer" use="optional">
685
+ <xs:annotation>
686
+ <xs:documentation>Pixel dimensions of the companion asset</xs:documentation>
687
+ </xs:annotation>
688
+ </xs:attribute>
689
+ <xs:attribute name="assetHeight" type="xs:integer" use="optional">
690
+ <xs:annotation>
691
+ <xs:documentation>Pixel dimensions of the companion asset</xs:documentation>
692
+ </xs:annotation>
693
+ </xs:attribute>
694
+ <xs:attribute name="expandedWidth" type="xs:integer" use="optional">
695
+ <xs:annotation>
696
+ <xs:documentation>Pixel dimensions of expanding companion ad when in expanded state</xs:documentation>
697
+ </xs:annotation>
698
+ </xs:attribute>
699
+ <xs:attribute name="expandedHeight" type="xs:integer" use="optional">
700
+ <xs:annotation>
701
+ <xs:documentation>Pixel dimensions of expanding companion ad when in expanded state</xs:documentation>
702
+ </xs:annotation>
703
+ </xs:attribute>
704
+ <xs:attribute name="apiFramework" type="xs:string" use="optional">
705
+ <xs:annotation>
706
+ <xs:documentation>The apiFramework defines the method to use for communication with the companion</xs:documentation>
707
+ </xs:annotation>
708
+ </xs:attribute>
709
+ <xs:attribute name="adSlotId" type="xs:string" use="optional">
710
+ <xs:annotation>
711
+ <xs:documentation>Used to match companion creative to publisher placement areas on the page.</xs:documentation>
712
+ </xs:annotation>
713
+ </xs:attribute>
714
+ </xs:complexType>
715
+ <xs:complexType name="NonLinear_type">
716
+ <xs:sequence>
717
+ <xs:choice>
718
+ <xs:element name="StaticResource" minOccurs="0" maxOccurs="1">
719
+ <xs:annotation>
720
+ <xs:documentation>URL to a static file, such as an image or SWF file</xs:documentation>
721
+ </xs:annotation>
722
+ <xs:complexType>
723
+ <xs:simpleContent>
724
+ <xs:extension base="xs:anyURI">
725
+ <xs:attribute name="creativeType" type="xs:string" use="required">
726
+ <xs:annotation>
727
+ <xs:documentation>Mime type of static resource</xs:documentation>
728
+ </xs:annotation>
729
+ </xs:attribute>
730
+ </xs:extension>
731
+ </xs:simpleContent>
732
+ </xs:complexType>
733
+ </xs:element>
734
+ <xs:element name="IFrameResource" type="xs:anyURI" minOccurs="0" maxOccurs="1">
735
+ <xs:annotation>
736
+ <xs:documentation>URL source for an IFrame to display the companion element</xs:documentation>
737
+ </xs:annotation>
738
+ </xs:element>
739
+ <xs:element name="HTMLResource" type="HTMLResource_type" minOccurs="0" maxOccurs="1">
740
+ <xs:annotation>
741
+ <xs:documentation>HTML to display the companion element</xs:documentation>
742
+ </xs:annotation>
743
+ </xs:element>
744
+ </xs:choice>
745
+ <xs:element name="CreativeExtensions" minOccurs="0" maxOccurs="1" type="CreativeExtensions_type" />
746
+ <xs:element name="NonLinearClickTracking" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
747
+ <xs:annotation>
748
+ <xs:documentation>URLs to ping when user clicks on the the non-linear ad.</xs:documentation>
749
+ </xs:annotation>
750
+ </xs:element>
751
+ <xs:element name="NonLinearClickThrough" type="xs:anyURI" minOccurs="0" maxOccurs="1">
752
+ <xs:annotation>
753
+ <xs:documentation>URL to open as destination page when user clicks on the non-linear ad unit.</xs:documentation>
754
+ </xs:annotation>
755
+ </xs:element>
756
+ <xs:element name="AdParameters" minOccurs="0" maxOccurs="1" type="AdParameters_type">
757
+ <xs:annotation>
758
+ <xs:documentation>Data to be passed into the video ad. </xs:documentation>
759
+ </xs:annotation>
760
+ </xs:element>
761
+ </xs:sequence>
762
+ <xs:attribute name="id" type="xs:string" use="optional">
763
+ <xs:annotation>
764
+ <xs:documentation>Optional identifier</xs:documentation>
765
+ </xs:annotation>
766
+ </xs:attribute>
767
+ <xs:attribute name="width" type="xs:integer" use="required">
768
+ <xs:annotation>
769
+ <xs:documentation>Pixel dimensions of companion</xs:documentation>
770
+ </xs:annotation>
771
+ </xs:attribute>
772
+ <xs:attribute name="height" type="xs:integer" use="required">
773
+ <xs:annotation>
774
+ <xs:documentation>Pixel dimensions of companion</xs:documentation>
775
+ </xs:annotation>
776
+ </xs:attribute>
777
+ <xs:attribute name="expandedWidth" type="xs:integer" use="optional">
778
+ <xs:annotation>
779
+ <xs:documentation>Pixel dimensions of expanding nonlinear ad when in expanded state</xs:documentation>
780
+ </xs:annotation>
781
+ </xs:attribute>
782
+ <xs:attribute name="expandedHeight" type="xs:integer" use="optional">
783
+ <xs:annotation>
784
+ <xs:documentation>Pixel dimensions of expanding nonlinear ad when in expanded state</xs:documentation>
785
+ </xs:annotation>
786
+ </xs:attribute>
787
+ <xs:attribute name="scalable" type="xs:boolean" use="optional">
788
+ <xs:annotation>
789
+ <xs:documentation>Whether it is acceptable to scale the image.</xs:documentation>
790
+ </xs:annotation>
791
+ </xs:attribute>
792
+ <xs:attribute name="maintainAspectRatio" type="xs:boolean" use="optional">
793
+ <xs:annotation>
794
+ <xs:documentation>Whether the ad must have its aspect ratio maintained when scales</xs:documentation>
795
+ </xs:annotation>
796
+ </xs:attribute>
797
+ <xs:attribute name="minSuggestedDuration" type="xs:time" use="optional">
798
+ <xs:annotation>
799
+ <xs:documentation>Suggested duration to display non-linear ad, typically for animation to complete. Expressed in standard time format hh:mm:ss</xs:documentation>
800
+ </xs:annotation>
801
+ </xs:attribute>
802
+ <xs:attribute name="apiFramework" type="xs:string" use="optional">
803
+ <xs:annotation>
804
+ <xs:documentation>The apiFramework defines the method to use for communication with the nonlinear element</xs:documentation>
805
+ </xs:annotation>
806
+ </xs:attribute>
807
+ </xs:complexType>
808
+ <xs:complexType name="NonLinearWrapper_type">
809
+ <xs:sequence>
810
+ <xs:element name="CreativeExtensions" minOccurs="0" maxOccurs="1" type="CreativeExtensions_type" />
811
+ <xs:element name="NonLinearClickTracking" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
812
+ <xs:annotation>
813
+ <xs:documentation>URLs to ping when user clicks on the the non-linear ad unit.</xs:documentation>
814
+ </xs:annotation>
815
+ </xs:element>
816
+ </xs:sequence>
817
+ <xs:attribute name="id" type="xs:string" use="optional">
818
+ <xs:annotation>
819
+ <xs:documentation>Optional identifier</xs:documentation>
820
+ </xs:annotation>
821
+ </xs:attribute>
822
+ <xs:attribute name="width" type="xs:integer" use="optional">
823
+ <xs:annotation>
824
+ <xs:documentation>Pixel dimensions of companion</xs:documentation>
825
+ </xs:annotation>
826
+ </xs:attribute>
827
+ <xs:attribute name="height" type="xs:integer" use="optional">
828
+ <xs:annotation>
829
+ <xs:documentation>Pixel dimensions of companion</xs:documentation>
830
+ </xs:annotation>
831
+ </xs:attribute>
832
+ <xs:attribute name="expandedWidth" type="xs:integer" use="optional">
833
+ <xs:annotation>
834
+ <xs:documentation>Pixel dimensions of expanding nonlinear ad when in expanded state</xs:documentation>
835
+ </xs:annotation>
836
+ </xs:attribute>
837
+ <xs:attribute name="expandedHeight" type="xs:integer" use="optional">
838
+ <xs:annotation>
839
+ <xs:documentation>Pixel dimensions of expanding nonlinear ad when in expanded state</xs:documentation>
840
+ </xs:annotation>
841
+ </xs:attribute>
842
+ <xs:attribute name="scalable" type="xs:boolean" use="optional">
843
+ <xs:annotation>
844
+ <xs:documentation>Whether it is acceptable to scale the image.</xs:documentation>
845
+ </xs:annotation>
846
+ </xs:attribute>
847
+ <xs:attribute name="maintainAspectRatio" type="xs:boolean" use="optional">
848
+ <xs:annotation>
849
+ <xs:documentation>Whether the ad must have its aspect ratio maintained when scales</xs:documentation>
850
+ </xs:annotation>
851
+ </xs:attribute>
852
+ <xs:attribute name="minSuggestedDuration" type="xs:time" use="optional">
853
+ <xs:annotation>
854
+ <xs:documentation>Suggested duration to display non-linear ad, typically for animation to complete. Expressed in standard time format hh:mm:ss</xs:documentation>
855
+ </xs:annotation>
856
+ </xs:attribute>
857
+ <xs:attribute name="apiFramework" type="xs:string" use="optional">
858
+ <xs:annotation>
859
+ <xs:documentation>The apiFramework defines the method to use for communication with the nonlinear element</xs:documentation>
860
+ </xs:annotation>
861
+ </xs:attribute>
862
+ </xs:complexType>
863
+ <xs:complexType name="AdSystem_type">
864
+ <xs:simpleContent>
865
+ <xs:extension base="xs:string">
866
+ <xs:attribute name="version" type="xs:string" use="optional">
867
+ <xs:annotation>
868
+ <xs:documentation>Internal version used by ad system</xs:documentation>
869
+ </xs:annotation>
870
+ </xs:attribute>
871
+ </xs:extension>
872
+ </xs:simpleContent>
873
+ </xs:complexType>
874
+ <xs:complexType name="Impression_type">
875
+ <xs:simpleContent>
876
+ <xs:extension base="xs:anyURI">
877
+ <xs:attribute name="id" type="xs:string" use="optional" />
878
+ </xs:extension>
879
+ </xs:simpleContent>
880
+ </xs:complexType>
881
+ <xs:complexType name="Icon_type">
882
+ <xs:sequence>
883
+ <xs:choice>
884
+ <xs:element name="StaticResource" minOccurs="0" maxOccurs="1">
885
+ <xs:annotation>
886
+ <xs:documentation>URL to a static file, such as an image or SWF file</xs:documentation>
887
+ </xs:annotation>
888
+ <xs:complexType>
889
+ <xs:simpleContent>
890
+ <xs:extension base="xs:anyURI">
891
+ <xs:attribute name="creativeType" type="xs:string" use="required">
892
+ <xs:annotation>
893
+ <xs:documentation>Mime type of static resource</xs:documentation>
894
+ </xs:annotation>
895
+ </xs:attribute>
896
+ </xs:extension>
897
+ </xs:simpleContent>
898
+ </xs:complexType>
899
+ </xs:element>
900
+ <xs:element name="IFrameResource" type="xs:anyURI" minOccurs="0" maxOccurs="1">
901
+ <xs:annotation>
902
+ <xs:documentation>URL source for an IFrame to display the companion element</xs:documentation>
903
+ </xs:annotation>
904
+ </xs:element>
905
+ <xs:element name="HTMLResource" type="HTMLResource_type" minOccurs="0" maxOccurs="1">
906
+ <xs:annotation>
907
+ <xs:documentation>HTML to display the companion element</xs:documentation>
908
+ </xs:annotation>
909
+ </xs:element>
910
+ </xs:choice>
911
+ <xs:element name="IconClicks" minOccurs="0" maxOccurs="1">
912
+ <xs:complexType>
913
+ <xs:sequence>
914
+ <xs:element name="IconClickTracking" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
915
+ <xs:annotation>
916
+ <xs:documentation>URLs to ping when user clicks on the the icon.</xs:documentation>
917
+ </xs:annotation>
918
+ </xs:element>
919
+ <xs:element name="IconClickThrough" type="xs:anyURI" minOccurs="0" maxOccurs="1">
920
+ <xs:annotation>
921
+ <xs:documentation>URL to open as destination page when user clicks on the icon.</xs:documentation>
922
+ </xs:annotation>
923
+ </xs:element>
924
+ </xs:sequence>
925
+ </xs:complexType>
926
+ </xs:element>
927
+ <xs:element name="IconViewTracking" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
928
+ <xs:annotation>
929
+ <xs:documentation>URLs to ping when icon is shown.</xs:documentation>
930
+ </xs:annotation>
931
+ </xs:element>
932
+ </xs:sequence>
933
+ <xs:attribute name="program" type="xs:string" use="required">
934
+ <xs:annotation>
935
+ <xs:documentation>Identifies the industry initiative that the icon supports.</xs:documentation>
936
+ </xs:annotation>
937
+ </xs:attribute>
938
+ <xs:attribute name="width" type="xs:integer" use="required">
939
+ <xs:annotation>
940
+ <xs:documentation>Pixel dimensions of icon.</xs:documentation>
941
+ </xs:annotation>
942
+ </xs:attribute>
943
+ <xs:attribute name="height" type="xs:integer" use="required">
944
+ <xs:annotation>
945
+ <xs:documentation>Pixel dimensions of icon.</xs:documentation>
946
+ </xs:annotation>
947
+ </xs:attribute>
948
+ <xs:attribute name="xPosition" use="required">
949
+ <xs:annotation>
950
+ <xs:documentation>The horizontal alignment location (in pixels) or a specific alignment.</xs:documentation>
951
+ </xs:annotation>
952
+ <xs:simpleType>
953
+ <xs:restriction base="xs:string">
954
+ <xs:pattern value='([0-9]*|left|right)' />
955
+ </xs:restriction>
956
+ </xs:simpleType>
957
+ </xs:attribute>
958
+ <xs:attribute name="yPosition" use="required">
959
+ <xs:annotation>
960
+ <xs:documentation>The vertical alignment location (in pixels) or a specific alignment.</xs:documentation>
961
+ </xs:annotation>
962
+ <xs:simpleType>
963
+ <xs:restriction base="xs:string">
964
+ <xs:pattern value='([0-9]*|top|bottom)' />
965
+ </xs:restriction>
966
+ </xs:simpleType>
967
+ </xs:attribute>
968
+ <xs:attribute name="offset" type="xs:time" use="optional">
969
+ <xs:annotation>
970
+ <xs:documentation>Start time at which the player should display the icon. Expressed in standard time format hh:mm:ss.</xs:documentation>
971
+ </xs:annotation>
972
+ </xs:attribute>
973
+ <xs:attribute name="duration" type="xs:time" use="optional">
974
+ <xs:annotation>
975
+ <xs:documentation>The duration for which the player must display the icon. Expressed in standard time format hh:mm:ss.</xs:documentation>
976
+ </xs:annotation>
977
+ </xs:attribute>
978
+ <xs:attribute name="apiFramework" type="xs:string" use="optional">
979
+ <xs:annotation>
980
+ <xs:documentation>The apiFramework defines the method to use for communication with the icon element</xs:documentation>
981
+ </xs:annotation>
982
+ </xs:attribute>
983
+ </xs:complexType>
984
+ <xs:complexType name ="Extensions_type">
985
+ <xs:sequence>
986
+ <xs:element name="Extension" minOccurs="0" maxOccurs="unbounded">
987
+ <xs:annotation>
988
+ <xs:documentation>Any valid XML may be included in the Extensions node</xs:documentation>
989
+ </xs:annotation>
990
+ <xs:complexType>
991
+ <xs:sequence>
992
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##any" />
993
+ </xs:sequence>
994
+ <xs:anyAttribute namespace="##any" processContents="lax" />
995
+ </xs:complexType>
996
+ </xs:element>
997
+ </xs:sequence>
998
+ </xs:complexType>
999
+ <xs:complexType name ="CreativeExtensions_type">
1000
+ <xs:sequence>
1001
+ <xs:element name="CreativeExtension" minOccurs="0" maxOccurs="unbounded">
1002
+ <xs:annotation>
1003
+ <xs:documentation>Any valid XML may be included in the Extensions node</xs:documentation>
1004
+ </xs:annotation>
1005
+ <xs:complexType>
1006
+ <xs:sequence>
1007
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##any" />
1008
+ </xs:sequence>
1009
+ <xs:anyAttribute namespace="##any" processContents="lax" />
1010
+ </xs:complexType>
1011
+ </xs:element>
1012
+ </xs:sequence>
1013
+ </xs:complexType>
1014
+ <xs:complexType name="AdParameters_type">
1015
+ <xs:simpleContent>
1016
+ <xs:extension base="xs:string">
1017
+ <xs:attribute name="xmlEncoded" type="xs:boolean" use="optional">
1018
+ <xs:annotation>
1019
+ <xs:documentation>Specifies whether the parameters are XML-encoded</xs:documentation>
1020
+ </xs:annotation>
1021
+ </xs:attribute>
1022
+ </xs:extension>
1023
+ </xs:simpleContent>
1024
+ </xs:complexType>
1025
+ <xs:complexType name="HTMLResource_type">
1026
+ <xs:simpleContent>
1027
+ <xs:extension base="xs:string">
1028
+ <xs:attribute name="xmlEncoded" type="xs:boolean" use="optional">
1029
+ <xs:annotation>
1030
+ <xs:documentation>Specifies whether the HTML is XML-encoded</xs:documentation>
1031
+ </xs:annotation>
1032
+ </xs:attribute>
1033
+ </xs:extension>
1034
+ </xs:simpleContent>
1035
+ </xs:complexType>
1036
+ </xs:schema>