Learn about the structure of a SMIL index.

The Structure

SMIL as an implementation of XML has similarities in structure to an XHTML file. There is a head and body area, as well as meta statements.

Differences of HTML to SMIL

Through its many formatting and placement options, HTML represents a document. SMIL files, on the other hand, are more like a list or table of contents. We therefore also call the SMIL file the SMIL index or SMIL playlist. So, despite the structural similarities, we are dealing with two fundamentally different concepts.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
		<!--  Controls, information or instructions -->
		<meta name="title" content="A SMIL Index file" />
			<!-- Layout instructions-->
			<root-layout id="display:0" width="1920" height="1080" />
		<!-- Container and media objects -->
The typical structure of a SMIL index

Head Area

Meta Tags

In the meta-tags there is information like title, author, time, and instructions for the refresh. Depending on the software, this information is read and interpreted. Meta tags might also help to implement application-specific control commands.

Layout Area

SMIL needs explicit information about the screen resolution. This is important because it can divide screens into sections. These sections or zones are allowed to overlap. In the chapter screen layout, we go into this in more detail.

The root-layout-tag is mandatory, and you should specify it in every SMIL index. The width and height attributes refer to pixels.

Body Area

In the body, the media objects are organized in so-called containers.

Media objects

Media objects include: images, video, SVG, web pages, text, widgets, etc. Depending on what the software you are using supports. The media have attributes that control their behavior.


Container affects the playback behavior of the media objects. There are three containers in SMIL 3.0.

  1. Sequential play
  2. Parallel play
  3. Exclusive

Similar to media objects, containers also have attributes that control their behavior.