ruby-vast 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +20 -0
- data/README.rdoc +55 -0
- data/lib/ruby-vast.rb +1 -0
- data/lib/vast.rb +33 -0
- data/lib/vast/ad.rb +103 -0
- data/lib/vast/companion_creative.rb +81 -0
- data/lib/vast/creative.rb +62 -0
- data/lib/vast/document.rb +71 -0
- data/lib/vast/element.rb +9 -0
- data/lib/vast/extension.rb +18 -0
- data/lib/vast/icon.rb +87 -0
- data/lib/vast/inline_ad.rb +22 -0
- data/lib/vast/linear_creative.rb +57 -0
- data/lib/vast/mediafile.rb +56 -0
- data/lib/vast/non_linear_creative.rb +97 -0
- data/lib/vast/version.rb +3 -0
- data/lib/vast/wrapper_ad.rb +19 -0
- data/lib/vast3_draft.xsd +1036 -0
- data/lib/vast_2.0.1.xsd +643 -0
- data/test/ad_test.rb +122 -0
- data/test/companion_creative_test.rb +38 -0
- data/test/creative_test.rb +35 -0
- data/test/document_test.rb +72 -0
- data/test/examples/document_with_no_ads.xml +3 -0
- data/test/examples/document_with_one_inline_ad.xml +121 -0
- data/test/examples/document_with_one_inline_and_one_wrapper_ad.xml +105 -0
- data/test/examples/document_with_one_wrapper_ad.xml +40 -0
- data/test/examples/document_with_two_inline_ads.xml +120 -0
- data/test/examples/invalid_document.xml +3 -0
- data/test/examples/invalid_document_with_missing_ad_type.xml +58 -0
- data/test/examples/invalid_document_with_missing_creative_type.xml +39 -0
- data/test/examples/vast3_inline.xml +86 -0
- data/test/extension_test.rb +20 -0
- data/test/inline_ad_test.rb +14 -0
- data/test/linear_creative_test.rb +26 -0
- data/test/mediafile_test.rb +20 -0
- data/test/non_linear_creative_test.rb +39 -0
- data/test/test_helper.rb +13 -0
- data/test/vast3_inline_ad_test.rb +23 -0
- data/test/wrapper_ad_test.rb +16 -0
- metadata +99 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
module VAST
|
2
|
+
# The VAST allows any valid XML within the extensions element. Use of extensions will necessarily
|
3
|
+
# require offline coordination between VAST sender and VAST receiver.
|
4
|
+
class Extension < Element
|
5
|
+
|
6
|
+
# Extension type
|
7
|
+
def type
|
8
|
+
source_node[:type]
|
9
|
+
end
|
10
|
+
|
11
|
+
# Access to the XML contents of this extension, as a Nokogiri::XML::Node
|
12
|
+
# http://nokogiri.rubyforge.org/nokogiri/Nokogiri/XML/Node.html. Alias of
|
13
|
+
# Extension#source_node
|
14
|
+
def xml
|
15
|
+
source_node
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/vast/icon.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
module VAST
|
2
|
+
# Any number of Mediafile objects can be provided for a single Ad, but it is assumed that all Mediafiles belongs
|
3
|
+
# to a single Ad object represent the same creative unit with the same duration, Ad-ID (ISCI code), etc.
|
4
|
+
class Icon < Element
|
5
|
+
|
6
|
+
def program
|
7
|
+
source_node[:program]
|
8
|
+
end
|
9
|
+
|
10
|
+
def width
|
11
|
+
source_node[:width].to_i
|
12
|
+
end
|
13
|
+
|
14
|
+
def height
|
15
|
+
source_node[:height].to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
def xPosition
|
19
|
+
source_node[:xPosition].to_i
|
20
|
+
end
|
21
|
+
|
22
|
+
def yPosition
|
23
|
+
source_node[:yPosition].to_i
|
24
|
+
end
|
25
|
+
|
26
|
+
def duration
|
27
|
+
source_node[:duration].to_i
|
28
|
+
end
|
29
|
+
|
30
|
+
def offset
|
31
|
+
source_node[:offset].to_i
|
32
|
+
end
|
33
|
+
|
34
|
+
# Defines the method to use for communication with the companion
|
35
|
+
def api_framework
|
36
|
+
source_node[:apiFramework]
|
37
|
+
end
|
38
|
+
|
39
|
+
def resource_type
|
40
|
+
if source_node.at('StaticResource')
|
41
|
+
:static
|
42
|
+
elsif source_node.at('IFrameResource')
|
43
|
+
:iframe
|
44
|
+
elsif source_node.at('HTMLResource')
|
45
|
+
:html
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Returns MIME type of static creative
|
50
|
+
def creative_type
|
51
|
+
if resource_type == :static
|
52
|
+
source_node.at('StaticResource')[:creativeType]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# Returns URI for static or iframe resource
|
57
|
+
def resource_url
|
58
|
+
case resource_type
|
59
|
+
when :static
|
60
|
+
URI.parse source_node.at('StaticResource').content.strip
|
61
|
+
when :iframe
|
62
|
+
URI.parse source_node.at('IFrameResource').content.strip
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# Returns HTML text for html resource
|
67
|
+
def resource_html
|
68
|
+
if resource_type == :html
|
69
|
+
source_node.at('HTMLResource').content
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def click_through_url
|
74
|
+
URI.parse source_node.at('IconClickThrough').content.strip
|
75
|
+
end
|
76
|
+
|
77
|
+
def click_tracking_url
|
78
|
+
URI.parse source_node.at('IconClickTracking').content.strip
|
79
|
+
end
|
80
|
+
|
81
|
+
def view_tracking_url
|
82
|
+
URI.parse source_node.at('IconViewTracking').content.strip
|
83
|
+
end
|
84
|
+
|
85
|
+
# end of class
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module VAST
|
2
|
+
# Contains all the information necessary to display the visual experience of one complete ad.
|
3
|
+
class InlineAd < Ad
|
4
|
+
|
5
|
+
# URI of request to survey vendor
|
6
|
+
def survey_url
|
7
|
+
URI.parse source_node.at('Survey').content.strip
|
8
|
+
end
|
9
|
+
|
10
|
+
# Common name of ad
|
11
|
+
def ad_system
|
12
|
+
source_node.at('AdSystem').content
|
13
|
+
end
|
14
|
+
|
15
|
+
# Common name of ad
|
16
|
+
def ad_title
|
17
|
+
source_node.at('AdTitle').content
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module VAST
|
2
|
+
# LinearCreative is presented before, in the middle of, or after the video content is consumed by the user,
|
3
|
+
# in very much the same way a TV commercial can play before, during or after the chosen program.
|
4
|
+
class LinearCreative < Creative
|
5
|
+
|
6
|
+
# Duration of creative
|
7
|
+
def duration
|
8
|
+
source_node.at('Duration').content
|
9
|
+
end
|
10
|
+
|
11
|
+
# VAST 3
|
12
|
+
def skipoffset
|
13
|
+
source_node[:skipoffset]
|
14
|
+
end
|
15
|
+
|
16
|
+
# URI to open as destination page when user clicks on the video
|
17
|
+
def click_through_url
|
18
|
+
URI.parse source_node.at('ClickThrough').content.strip
|
19
|
+
end
|
20
|
+
|
21
|
+
# An array of URIs to request for tracking purposes when user clicks on the video
|
22
|
+
def click_tracking_urls
|
23
|
+
source_node.xpath('.//ClickTracking').to_a.collect do |node|
|
24
|
+
URI.parse node.content.strip
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# A hash of URIs to request on custom events such as hotspotted video. This library
|
29
|
+
# required custom click urls to identify themselves with an `id` attribute, which is
|
30
|
+
# used as the key for this hash
|
31
|
+
def custom_click_urls
|
32
|
+
custom_click_urls = {}
|
33
|
+
source_node.xpath('.//CustomClick').to_a.collect do |node|
|
34
|
+
key = underscore(node[:id]).to_sym
|
35
|
+
custom_click_urls[key] = URI.parse(node.content.strip)
|
36
|
+
end
|
37
|
+
custom_click_urls
|
38
|
+
end
|
39
|
+
|
40
|
+
# Returns mediafiles containing the information required to display the linear creative's media
|
41
|
+
#
|
42
|
+
# It is assumed that all mediafiles accessible represent the same creative unit with the same
|
43
|
+
# duration, Ad-ID (ISCI code), etc.
|
44
|
+
def mediafiles
|
45
|
+
source_node.xpath('.//MediaFile').to_a.collect do |node|
|
46
|
+
Mediafile.new(node)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def icons
|
51
|
+
source_node.xpath('.//Icon').to_a.collect do |node|
|
52
|
+
Icon.new(node)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module VAST
|
2
|
+
# Any number of Mediafile objects can be provided for a single Ad, but it is assumed that all Mediafiles belongs
|
3
|
+
# to a single Ad object represent the same creative unit with the same duration, Ad-ID (ISCI code), etc.
|
4
|
+
class Mediafile < Element
|
5
|
+
|
6
|
+
# Location of linear file
|
7
|
+
def url
|
8
|
+
URI.parse source_node.content.strip
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
source_node[:id]
|
13
|
+
end
|
14
|
+
|
15
|
+
# Method of delivery of ad, either "streaming" or "progressive"
|
16
|
+
def delivery
|
17
|
+
source_node[:delivery]
|
18
|
+
end
|
19
|
+
|
20
|
+
# MIME type. Popular MIME types include, but are not limited to “video/x-ms-wmv” for
|
21
|
+
# Windows Media, and “video/x-flv” for Flash Video.
|
22
|
+
def type
|
23
|
+
source_node[:type]
|
24
|
+
end
|
25
|
+
|
26
|
+
# Bitrate of encoded video in Kbps
|
27
|
+
def bitrate
|
28
|
+
source_node[:bitrate].to_i
|
29
|
+
end
|
30
|
+
|
31
|
+
# Pixel dimensions of video width
|
32
|
+
def width
|
33
|
+
source_node[:width].to_i
|
34
|
+
end
|
35
|
+
|
36
|
+
# Pixel dimensions of video height
|
37
|
+
def height
|
38
|
+
source_node[:height].to_i
|
39
|
+
end
|
40
|
+
|
41
|
+
# Defines the method to use for communication with the companion
|
42
|
+
def api_framework
|
43
|
+
source_node[:apiFramework]
|
44
|
+
end
|
45
|
+
|
46
|
+
# Whether it is acceptable to scale the mediafile.
|
47
|
+
def scalable?
|
48
|
+
source_node[:scalable]=="true"
|
49
|
+
end
|
50
|
+
|
51
|
+
# Whether the mediafile must have its aspect ratio maintained when scaled
|
52
|
+
def maintain_aspect_ratio?
|
53
|
+
source_node[:maintainAspectRatio]=="true"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
module VAST
|
2
|
+
# NonLinearCreative runs concurrently with the video content so the users see the ad while viewing
|
3
|
+
# the content. Non-linear video ads can be delivered as text, graphical ads, or as video overlays.
|
4
|
+
class NonLinearCreative < Creative
|
5
|
+
|
6
|
+
def id
|
7
|
+
source_node[:id]
|
8
|
+
end
|
9
|
+
|
10
|
+
# Width in pixels
|
11
|
+
def width
|
12
|
+
source_node[:width].to_i
|
13
|
+
end
|
14
|
+
|
15
|
+
# Height in pixels
|
16
|
+
def height
|
17
|
+
source_node[:height].to_i
|
18
|
+
end
|
19
|
+
|
20
|
+
# Width in pixels when in expanded state
|
21
|
+
def expanded_width
|
22
|
+
source_node[:expandedWidth].to_i
|
23
|
+
end
|
24
|
+
|
25
|
+
# Height in pixels when in expanded state
|
26
|
+
def expanded_height
|
27
|
+
source_node[:expandedHeight].to_i
|
28
|
+
end
|
29
|
+
|
30
|
+
# Defines the method to use for communication with the companion
|
31
|
+
def api_framework
|
32
|
+
source_node[:apiFramework]
|
33
|
+
end
|
34
|
+
|
35
|
+
# URI to open as destination page when user clicks on creative
|
36
|
+
def click_through_url
|
37
|
+
URI.parse source_node.at('NonLinearClickThrough').content.strip
|
38
|
+
end
|
39
|
+
|
40
|
+
def click_tracking_url
|
41
|
+
URI.parse source_node.at('NonLinearClickTracking').content.strip
|
42
|
+
end
|
43
|
+
|
44
|
+
# Whether it is acceptable to scale the mediafile.
|
45
|
+
def scalable?
|
46
|
+
source_node[:scalable]=="true"
|
47
|
+
end
|
48
|
+
|
49
|
+
# Whether the mediafile must have its aspect ratio maintained when scaled
|
50
|
+
def maintain_aspect_ratio?
|
51
|
+
source_node[:maintainAspectRatio]=="true"
|
52
|
+
end
|
53
|
+
|
54
|
+
# Suggested duration to display non-linear ad, typically for animation to complete.
|
55
|
+
# Expressed in standard time format hh:mm:ss
|
56
|
+
def min_suggested_duration
|
57
|
+
source_node[:minSuggestedDuration]
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
# Type of non-linear resource, returned as a symbol. Either :static, :iframe, or :html.
|
62
|
+
def resource_type
|
63
|
+
if source_node.at('StaticResource')
|
64
|
+
:static
|
65
|
+
elsif source_node.at('IFrameResource')
|
66
|
+
:iframe
|
67
|
+
elsif source_node.at('HTMLResource')
|
68
|
+
:html
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# Returns MIME type of static creative
|
73
|
+
def creative_type
|
74
|
+
if resource_type == :static
|
75
|
+
source_node.at('StaticResource')[:creativeType]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# Returns URI for static or iframe resource
|
80
|
+
def resource_url
|
81
|
+
case resource_type
|
82
|
+
when :static
|
83
|
+
URI.parse source_node.at('StaticResource').content.strip
|
84
|
+
when :iframe
|
85
|
+
URI.parse source_node.at('IFrameResource').content.strip
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# Returns HTML text for html resource
|
90
|
+
def resource_html
|
91
|
+
if resource_type == :html
|
92
|
+
source_node.at('HTMLResource').content
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
end
|
data/lib/vast/version.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module VAST
|
2
|
+
# Points to another VAST document on a different server.
|
3
|
+
#
|
4
|
+
# WrapperAds may include any number of tracking urls to allow CompanionCreatives to be served
|
5
|
+
# from an InlineAd response but tracked separately from the Impression. It may also include
|
6
|
+
# tracking elements for separately tracking LinearCreative or NonLinearCreative views or events.
|
7
|
+
#
|
8
|
+
# The server providing the WrapperAd may not know exactly which creative elements are to be
|
9
|
+
# delivered downline in inline ads; in that case the WrapperAd should include placeholders for
|
10
|
+
# the maximum set of Creatives that could be played within the Video Player.
|
11
|
+
class WrapperAd < Ad
|
12
|
+
|
13
|
+
# URI of ad tag of downstream Secondary Ad Server
|
14
|
+
def ad_tag_url
|
15
|
+
URI.parse source_node.at('VASTAdTagURI').content.strip
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
data/lib/vast3_draft.xsd
ADDED
@@ -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>
|