VASTlint
VAST-2.0-duplicate-singular-element

VAST-2.0-duplicate-singular-element

Element appears more than once where the spec allows a single occurrence

ErrorStructureIAB VAST 4.2 XSDVAST 2.0 and later (all versions)

Short answer

Every VAST schema from 2.0 to 4.2 caps elements like <AdSystem>, <AdTitle>, <VASTAdTagURI> and <Duration> at one occurrence per parent. A repeat is ambiguous: two <VASTAdTagURI> elements in a wrapper do not say which chain hop the player should follow, and two <Duration> elements in a <Linear> do not say how long the ad is. The 4.4 draft schema dropped this constraint entirely, so for a 4.4 document nothing else catches it.

Why this matters in production

This rule is usually a delivery blocker. Many players, SDKs, and ad servers will discard the response or skip the affected creative once this condition is hit. Structure rules matter because wrapper resolution, creative selection, and event handling all depend on the XML tree appearing in the exact place the spec expects. Affected scope: VAST 2.0 and later (all versions).

Invalid

<Wrapper>
  <AdSystem>Example</AdSystem>
  <Impression><![CDATA[https://example.com/imp]]></Impression>
  <VASTAdTagURI><![CDATA[https://example.com/first.xml]]></VASTAdTagURI>
  <VASTAdTagURI><![CDATA[https://example.com/second.xml]]></VASTAdTagURI>
</Wrapper>

Valid

<Wrapper>
  <AdSystem>Example</AdSystem>
  <Impression><![CDATA[https://example.com/imp]]></Impression>
  <VASTAdTagURI><![CDATA[https://example.com/first.xml]]></VASTAdTagURI>
</Wrapper>
Check your VAST tag for VAST-2.0-duplicate-singular-element and other issues instantly.Open the VAST tag validator →