Les modules de lien de SMIL 2.0 définissent les attributs et les éléments du document SMIL 2.0 pour la navigation hyperlien. Ce sont des navigations au travers de la présentation de SMIL qui peuvent être déclenchées par interaction de l'utilisateur ou par d'autres événements déclencheurs, tels que des événements temporels. SMIL 2.0 n'offre que des éléments de lien en-ligne. Les liens sont limités aux liens uni-directionnels (i.e., tous les liens ont exactement une source et une destination).
Les modules de lien de SMIL 2.0 sont nommés LinkingAttributes, BasicLinking et ObjectLinking. Le module LinkingAttributes inclut un ensemble d'attributs employés pour fournir la sémantique des liens SMIL aux éléments de lien. Le module BasicLinking inclut les éléments de lien de SMIL 2.0 eux-mêmes. Le module ObjectLinking inclut des mécanismes de lien optionnels supplémentaires qu'un profil de langage peut souhaiter inclure. Notez que le module BasicLinking inclut explicitement les attributs du module LinkingAttributes sur ses éléments.
XPointer [XPTR] permet aux composants des documents XML d'être adressés en fonction de leur placement dans la structure XML plutôt que par leur identifiant unique. Ceci permet de référencer n'importe quelle partie d'un document XML sans avoir à modifier ce document. Sans XPointer, le pointage dans un document peut nécessiter de lui ajouter des identifiants uniques, ou d'insérer des éléments spécifiques dans le document, telle qu'une ancre nommée en HTML. Les XPointer sont mis dans la partie de l'identifiant de fragment d'une valeur d'attribut URI [URI]. La spécification SMIL 2.0 permet mais n'exige pas que les agents utilisateurs soient capables de traiter les XPointer en valeurs d'attribut URI de SMIL 2.0.
Dans la mesure du possible, les constructions des liens SMIL ont les mêmes noms d'élément, d'attribut et de valeur que les constructions XLink [XLINK] errata-E28. Ceci facilite l'apprentissage de l'écriture de liens dans le code dans les deux formats : les auteurs familiers avec XLink peuvent apprendre plus rapidement les liens SMIL, et vice-versa. Cela facilite aussi la transformation en code SMIL et la reconnaissance en tant que code XLink une fois que XLink sera reconnu comme une recommandation et quand les mécanismes de transformation appropriés seront disponibles errata-E27. Cependant, les attributs des liens SMIL sont distincts des constructions XLink et font partie d'un espace de nommage séparé. En utilisant le mécanisme de modularisation de SMIL, ces constructions ne sont pas dans l'espace de nommage XLink mais dans les espaces de nommage définis dans la spécification de SMIL 2.0.
Les profils SMIL peuvent utiliser XML Base [XMLBase]. Le profil de langage SMIL 2.0, par exemple, inclut la gestion de XML Base. Quand XML Base est incorporé à un profil, les déclarations XML Base s'appliquent aux valeurs d'attribut URI de SMIL utilisées dans les documents de ce profil. Ces attributs incluent l'attribut href du module BasicLinking de SMIL et l'attribut src du module BasicMedia de SMIL.
Les noms des éléments, les noms des attributs et les valeurs des attributs des constructions de lien SMIL sont, dans la mesure du possible, les mêmes que les constructions dans XHTML [XHTML11] avec un comportement de lien correspondant. Ceci facilite l'apprentissage et l'écriture dans les deux langages et évite les confusions. Ça peut également faciliter le traitement des constructions de lien des deux langages, comme XLink une fois que le format sera reconnu. Les constructions de lien dans SMIL, cependant, sont sujets aux espaces de nommage définis dans SMIL 2.0, et non à un quelconque autre espace de nommage lié à XHTML.
Les modules de lien de SMIL 2.0 gèrent les identifiants de fragment de nom et le connecteur « # ». Un morceau de fragment est une valeur id qui identifie un des éléments dans le document SMIL référencé. Avec cette construction, SMIL 2.0 gère des localisateurs comme c'est couramment utilisé en HTML (c'est-à-dire, il utilise des localisateurs de la forme "http://www.example.org/some/path#anchor1"), à la différence que les valeurs sont des identifiants uniques et non les valeurs des attributs "name". Naturellement, ce type de lien peut seulement cibler les éléments qui ont un attribut de type ID.
Les liens utilisant des identifiants de fragment permettent aux auteurs de coder des liens d'une présentation SMIL 2.0 au départ d'un élément particulier plutôt qu'au début de sa présentation. Si un lien contenant une part d'un fragment est suivi, la présentation devrait commencer comme si l'utilisateur avait fait une avance rapide de la présentation représentée par le document destination au commencement effectif de l'élément désigné par le fragment. Voir la discussion sur les liens pour la construction de la temporisation dans « Les modules de temporisation et de synchronisation de SMIL 2.0 » pour plus d'information.
Il y a une sémantique spéciale définie pour suivre un lien contenant un morceau de fragment dans un document contenant une temporisation SMIL. Cette sémantique est définie dans « Les modules de temporisation et de synchronisation de SMIL 2.0 ».
En raison de sa nature intégrante, la présentation d'un document SMIL 2.0 peut impliquer d'autres applications (non-SMIL) ou modules d'extension. Par exemple, un agent utilisateur SMIL 2.0 peut utiliser un module d'extension HTML pour afficher une page HTML incorporée. Vice-versa, un agent utilisateur HTML peut utiliser un module d'extension SMIL pour afficher un document SMIL 2.0 incorporé dans une page HTML. Notez que ceci est seulement une des méthodes gérées pour intégrer SMIL 2.0 et HTML. Une alternative est d'utiliser l'approche du langage fusionné. Voir « Les modules SMIL 2.0 » pour plus de détails.
Dans des présentations imbriquées, des liens peuvent être définis par des documents à différents niveaux et des conflits peuvent surgir. Dans ce cas, le lien défini par le document contenant devrait avoir la priorité sur le lien défini par l'objet incorporé. Notez que ceci pourrait exiger une communication entre l'agent utilisateur et le module d'extension, des implémentations SMIL 2.0 peuvent choisir de ne pas se conformer à cette recommandation.
Si un lien est défini dans un document SMIL 2.0 incorporé, l'activation du lien affecte seulement le document SMIL 2.0 incorporé.
Si un lien est défini dans un document non-SMIL qui est incorporé dans un document SMIL 2.0, l'activation du lien peut seulement affecter la présentation du document incorporé et non la présentation du document SMIL 2.0 contenant. Cette restriction pourra être révisée dans les futures versions de SMIL.
Quand un lien d'un document SMIL 2.0 contient un identifiant de fragment non-résoluble ( « lien incertain ») parce qu'il identifie un élément qui n'est pas réellement une partie du document, le logiciel SMIL 2.0 devrait ignorer l'identifiant de fragment et commencer à jouer à partir du début du document.
Quand un lien d'un document SMIL 2.0 contient un identifiant de fragment qui identifie un élément qui est le contenu d'un élément switch, le logiciel SMIL 2.0 devrait interpréter ce lien comme allant plutôt vers l'élément switch ancêtre le plus externe. En d'autres termes, le lien devrait être considéré comme ayant accès à l'élément switch ancêtre qui n'est pas lui-même contenu dans un switch.
Le module LinkingAttribues de SMIL 2.0 définit plusieurs attributs qu'un profil de langage peut inclure dans ses éléments de lien pour ajouter une sémantique de lien SMIL à ces éléments. Les éléments du module BasicLinking incluent explicitement ces attributs. Ces attributs peuvent être appliqués pour lier des éléments d'autres espaces de nommage, si cela est permis par le profil du langage.
La valeur par défaut est play.
La valeur par défaut de show est replace.
Chacun des attributs suivants a la même syntaxe que les attributs du même nom dans HTML [HTML4] et, quand c'est applicable, la même sémantique :
Exemples
Ces exemples sont codés dans le profil de langage SMIL 2.0.
Exemple 1
Cet exemple montre l'utilisation des attributs target et accesskey. La moitié supérieure de l'affichage montre une image. Si l'utilisateur clique sur l'image, une présentation SMIL est jouée dans la moitié inférieure de l'affichage. Il se produit la même chose si l'utilisateur appuie sur la touche « a ».
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<layout>
<region id="source" height="%50"/>
<region id="destination" top ="%50"/>
</layout>
</head>
<body>
<a href="embeddedSMIL.smil" target="destination" accesskey="a">
<img region="source" src="source.jpg" dur="indefinite"/>
</a>
</body>
</smil>
Exemple 2
Cet exemple montre l'utilisation de l'attribut tabindex sur les éléments d'un objet média. Le fichier HTML "caption1.html" contient 3 liens, ainsi les 3 premières tabulations focalisent sur ces liens à tour de rôle. Le fichier "caption2.html" contient 4 liens, ainsi les tabulations 4 à 7 focalisent sur eux à tour de rôle. Les tabulations 8 et 9 focalisent sur les deux liens de "v1.mpg". La tabulation 10 focalise sur la présentation entière de "graph.imf". Si un des 9 premiers focus tabulés est activé, alors un lien à l'intérieur d'une des présentations incorporées "caption1.html", "caption2.rtx" ou "v1.mpg" est déclenché, affectant seulement cette présentation. Si le 10ème focus tabulé est activé, alors la présentation SMIL est elle-même affectée, en chargeant http://www.example.org/presentation dans le même espace de présentation.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<seq>
<video src="http://www.example.org/graph.imf"/>
<par>
<a tabindex="4" href="http://www.example.org/presentation">
<video src="http://www.example.org/graph.imf" ... />
</a>
<video tabindex="3" src="http://www.example.org/v1.mpg" ... />
<text tabindex="1" src="http://www.example.org/caption1.html" ... />
<text tabindex="2" src="http://www.example.org/caption2.html" ... />
</par>
</seq>
Les éléments de lien permettent la description des liens de navigation entre objets. Les liens SMIL 2.0 fournissent des éléments de lien uni-directionnels, en-ligne.
La fonctionnalité de l'élément a est très similaire à la fonctionnalité de l'élément a dans HTML [HTML4]. Pour la synchronisation, l'élément a est transparent. C'est-à-dire, il n'influence pas la synchronisation de ses éléments enfants. Les éléments a ne peuvent pas être emboîtés. Un élément a doit avoir un attribut href.
Un élément a peut spécifier plusieurs déclencheurs simultanément pour son activation. Par exemple, le contenu de l'élément du média visuel peut être sélectionné par l'utilisateur, ou la touche spécifiée par l'attribut accesskey peut être frappée par l'utilisateur pour déclencher une activation. Dans les cas où plusieurs déclencheurs sont spécifiés, n'importe lequel d'entre eux peut activer le lien. C'est-à-dire, un OU logique est appliqué à la liste des conditions de déclenchement pour déterminer si une activation se produit.
L'activation se produit si une des conditions pour l'activation est rencontrée pendant que l'élément a est actif. Un élément a est sensible si le média ou les éléments qu'il contient sont actifs ou gelés. Voir « Les module de temporisation et de synchronisation de SMIL 2.0 » pour davantage de détails. Pour la temporisation, un élément a est considéré comme un média discret, c'est-à-dire, que la durée intrinsèque est 0. Notez qu'un élément a n'est pas un conteneur de temps et ne contraint pas la temporisation de ses éléments enfants.
L'élément a inclut également les attributs définis dans « Le module LinkingAttributes de SMIL 2.0 » :
Contenu de l'élément
Le contenu de l'élément a doit être défini par le profil de langage. En général, on s'attend à ce que les éléments a puissent contenir le média et les éléments de temporisations présents dans le profil de langage comme enfants.
Autres conditions d'intégration
Les profils de langage qui appliquent la temporisation SMIL 2.0 à un élément a doivent donner la valeur par défaut et les valeurs autorisées pour l'attribut fill de l'élément a. Les langages qui appliquent la temporisation SMIL 2.0 à un élément a en souhaitant rester compatible avec SMIL 1.0, tel que le profil de langage SMIL 2.0, doivent mettre auto comme valeur par défaut pour l'attribut fill de l'élément a, et devraient considérer la valeur auto comme fixe. Dans tous les autres cas, à des fins de compatibilité, il est recommandé d'utiliser auto comme valeur par défaut.
Si non spécifié autrement par le profil, la valeur de l'attribut fill de l'élément a est fixée à auto.
Exemples
Ces exemples sont codés dans le profil de langage SMIL 2.0.
Exemple 1
Le lien commence la nouvelle présentation en remplaçant la présentation qui était jouée.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/somewhereelse.smi">
<video src="rtsp://www.example.org/graph.imf" region="l_window"/>
</a>
Exemple 2
Le lien commence la nouvelle présentation en plus de la présentation qui était jouée.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/somewhereelse.smi" show="new">
<video src="rtsp://www.example.org/graph.imf" region="l_window"/>
</a>
Ceci pourrait permettre à un lecteur SMIL 2.0 de lancer un agent utilisateur HTML :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/somewebpage.html" show="new">
<video src="rtsp://www.example.org/graph.imf" region="l_window"/>
</a>
Exemple 3
Le lien commence la nouvelle présentation et met en pause la présentation qui était jouée.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/somewhereelse.smi" show="new" sourcePlaystate="pause">
<video src="rtsp://www.example.org/graph.imf" region="l_window"/>
</a>
Exemple 4
L'exemple suivant contient un lien d'un élément dans une présentation A qui pointe vers le milieu d'une présentation B. Ceci jouerait la présentation B en la commençant à partir du début effectif de l'élément ayant la valeur d'attribut id "next".
Présentation A :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/presentationB#next">
<video src="rtsp://www.example.org/graph.imf"/>
</a>
Présentation B (http://www.example.org/presentation) :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<seq>
<video src="rtsp://www.example.org/graph.imf"/>
<par>
<video src="rtsp://www.example.org/timbl.rm" region="l_window"/>
<video id="next" src="rtsp://www.example.org/v1.rm" region="r_window"/>
^^^^^^^^^
<text src="rtsp://www.example.org/caption1.html" region="l_2_title"/>
<text src="rtsp://www.example.org/caption2.rtx" region="r_2_title"/>
</par>
</seq>
La fonctionnalité de l'élément a est limitée du fait qu'elle permet seulement d'associer un lien à un objet média complet. L'élément HTML area [HTML4] a démontré qu'il était utile d'associer des liens avec des parties spatiales de l'affichage visuel d'un objet.
La sémantique de l'élément area dans SMIL 2.0 est la même que celle dans HTML du fait qu'elle peut spécifier qu'une partie spatiale d'un objet visuel peut être choisie pour déclencher l'apparition de la destination du lien. L'attribut coords spécifie cette partie spatiale. En revanche, si un élément a est appliqué à un objet visuel, alors il spécifie que n'importe quelle partie visuelle d'un objet peut être choisie pour déclencher l'activation du lien.
L'élément area étend également la syntaxe et la sémantique de l'élément HTML area en fournissant des liens à partir de parties non-spatiales de l'affichage de l'objet média. Quand il est utilisé dans des profils qui incluent les modules de temporisation et de synchronisation de SMIL 2.0, l'élément area permet de séparer un objet en sous-parties temporelles, en utilisant des attributs comme begin et end. Les valeurs des attributs begin et end sont relatives au début de l'objet média conteneur. L'élément area peut permettre de faire d'une sous-partie de l'objet média la destination d'un lien, en utilisant ces attributs temporels et l'attribut id.
L'élément anchor de SMIL 1.0 [SMIL10] est déprécié en faveur de area. Pour cette spécification SMIL 2.0, l'élément anchor devrait être traité comme un synonyme de area.
L'élément area peut avoir les attributs listés ci-dessous, avec la même syntaxe que dans HTML [HTML4] et, quand cela est applicable, la même sémantique:
Les attributs suivants de l'élément area sont propres à SMIL et ne sont pas trouvés dans HTML. Ils sont définis plus haut dans la section traitant des attributs du module LinkingAttributes :
Contenu de l'élément
L'élément area est vide.
Exemples
Ces exemples sont codés dans le profil de langage SMIL 2.0.
1) Décomposition d'une vidéo en segments temporels
Dans l'exemple suivant, la structure temporelle d'une interview dans un bulletin d'information (une caméra prend l'interviewer qui pose une question, puis prend la personne interviewée qui répond) est exposée par fragmentation :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<body>
<video src="video" title="Interview" >
<area id="firstQ" begin="0s" dur="20s" title="first question" />
<area id="firstA" begin="first0.end" dur="50s" title="first answer" />
</video>
</body>
</smil>
2) Association de liens aux segments spatiaux
Dans l'exemple suivant, l'espace de l'écran occupé par un clip vidéo est partagé en deux sections. Un lien différent est associé à chacune de ces sections.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<body>
<video src="video" title="Interview" >
<area shape="rect" coords="5,5,50,50"
title="Journalist" href="http://www.example.org/> errata-E23
<area shape="rect" coords="60,5,100,50"
title="Subject" href="http://www.example.org/>
</video>
</body>
</smil>
3) Association de liens aux segments temporels
Dans l'exemple suivant, la durée d'un clip vidéo est coupée en deux sous-intervalles. Un lien différent est associé à chacun de ces sous-intervalles.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<body>
<video src="video" title="Interview" >
<area begin="0s" dur="20s" title="first question"
href="http://www.example.org/> errata-E23
<area begin="20s" dur="50s" title="first answer"
href="http://www.example.org/>
</video>
</body>
</smil>
4) Association de liens aux sous-parties spatiales
Dans l'exemple suivant, deux zones sont assignées dans l'espace de l'écran occupé par un clip vidéo. Un lien différent est associé à chacune de ces zones.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language"> ... <video src="http://www.example.org/CoolStuff"> <area href="http://www.example.org/AudioVideo" coords="0%,0%,50%,50%"/> <area href="http://www.example.org/Style" coords="50%,50%,100%,100%"/> </video>
5) Association de liens aux sous-parties temporelles
Dans l'exemple suivant, la durée d'un clip vidéo est coupée en deux sous-intervalles. Un lien différent est associé à chacun de ces sous-intervalles.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language"> ... <video src="http://www.example.org/CoolStuff"> <area href="http://www.example.org/AudioVideo" begin="0s" end="5s"/> <area href="http://www.example.org/Style" begin="5s" end="10s"/> </video>
6) Saut vers une sous-partie d'un objet
L'exemple suivant contient un lien d'un élément dans une présentation A qui pointe vers le milieu d'un objet vidéo défini dans une présentation B. Ceci jouerait la présentation B en commençant à la 5ième seconde de la vidéo. C'est-à-dire, la présentation commencerait comme si l'utilisateur avait fait une avance-rapide sur la présentation jusqu'au moment auquel le fragment désigné dans la vidéo "CoolStuff" débute.
Présentation A :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/mm/presentationB#tim">
<video id="graph" src="rtsp://www.example.org/graph.imf" region="l_window"/>
</a>
Présentation B :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<video src="http://www.example.org/CoolStuff">
<area id="joe" begin="0s" end="5s"/>
<area id="tim" begin="5s" end="10s"/>
</video>
7) Combinaison des différentes utilisations des liens
L'exemple suivant montre comment les différentes utilisations de liens associés peuvent être combinées.
Présentation A :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<a href="http://www.example.org/mm/presentationB#tim">
<video id="graph" src="rtsp://www.example.org/graph.imf" region="l_window"/>
</a>
Présentation B :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<video src="http://www.example.org/CoolStuff">
<area id="joe" begin="0s" end="5s" coords="0%,0%,50%,50%"
href="http://www.example.org/"/>
<area id="tim" begin="5s" end="10s" coords="0%,0%,50%,50%"
href="http://www.example.org/Tim"/>
</video>
8) L'attribut coords et les images redimensionnées
L'exemple suivant montre l'image "example.jpg", qui a une dimension de 100x100 pixels. La zone active de "example1.smil" est l'espace d'affichage en entier, qui est le quart supérieur gauche rogné à partir de l'image d'origine. La zone active de "example2.smil" ne peut pas être déclenchée parce que la zone image correspondante a été rognée.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<layout>
<region id=region right="50" bottom="50"/> errata-E23
</layout>
</head>
<body>
<img src="example.jpg" region="region">
<area shape="rect" coords="0%,0%,50%,50%" href="example1.smil"/>
<area shape="rect" coords="50%,50%,100%,100%" href="example2.smil"/>
</img>
</body
</smil>
Le contenu de cette section représente les capacités qui peuvent être incluses en option dans le profil de document. Ces fonctionnalités peuvent être incluses, ou pas, dans un profil de langage, mais ce ne devrait pas être des fonctionnalités optionnelles dans un profil. Ce module requière la gestion du module BasicLinking.
Un profil peut choisir d'inclure l'attribut fragment comme faisant parti de l'élément area. Celui-ci offre à un document hôte la possibilité d'inclure, de manière externe, un lien dans un objet média contenu qui sera traité au niveau du document hôte.
La valeur de l'attribut fragment doit être reconnaissable pour le processus contrôlant l'objet média comme une partie de l'objet que l'on peut activer. Si l'objet média référencé est un fichier HTML, alors la valeur de l'attribut fragment est une ancre nommée dans le fichier HTML. Si l'objet média référencé est un fichier XML, alors la valeur de l'attribut fragment est un identifiant de fragment (la partie qui vient après le « # » d'un URI [URI]).
Prenez par exemple le code SMIL suivant. Il établit une partie de l'affichage comme un menu textuel formaté. Cliquer sur un item dans ce menu déclenche un lien qui pointe amène ailleurs dans la présentation.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
...
<ref src="menu.html" region="menubar">
<area fragment="menuitem1" href="#selection1"/>
</ref>
Dans le rendu HTML, il y a une partie du texte affiché qui est balisée comme un area avec le nom "menuitem1". Si l'utilisateur clique dessus pendant la présentation SMIL, un lien actif SMIL est déclenché, naviguant vers la partie du document SMIL avec l'ID "selection1". Si l'élément HTML area nommé "menuitem1" a lui-même un attribut href, alors cet hyperlien est surcleass´ - seul l'hyperlien SMIL est traité. Les éléments HTML area ayant des attributs href sans attribut SMIL fragment associé ne sont pas surclassés. Ces élément HTML area activent les liens de la présentation HTML incorporée quand on clique dessus.
L'utilisation de l'attribut fragment peut surclasser les liens dans le média incorporé. Si l'attribut fait référence à une partie du média incorporé qui est un lien dans ce média, l'activation de ce lien déclenchera la navigation seulement dans la présentation SMIL, et pas dans la présentation incorporée. Par exemple, supposez qu'un attribut fragment fasse référence à une ancre nommée dans un document HTML incorporé. Cet area nommé a un attribut href, en faisant le point de départ d'une navigation potentielle dans la présentation HTML elle-même. Une fois incorporée dans la présentation SMIL, l'activation de cette partie de l'affichage HTML déclenche le lien SMIL et non le lien HTML. Les liens, dans un média incorporé, qui ne sont pas surclassés de cette manière, continuent d'autre part de déclencher une navigation dans l'affichage incorporé quand il est activé. Toute fonctionnalité définie pour le lien SMIL surclassera une quelconque fonctionnalité équivalente définie pour le lien dans le média incorporé. Dans l'exemple précédent, l'attribut alt de l'élément SMIL area surclasserait la balise alt de l'ancre HTML incorporée.
Le référencement effectué par l'attribut fragment s'applique seulement à un niveau de profondeur du média incorporé. Il s'applique seulement aux médias directement incorporés ; il ne s'applique pas aux médias incorporés à leur tour dans un média incorporé lui-même dans une présentation SMIL. Par exemple, considérez une présentation SMIL qui incorpore une seconde présentation SMIL. L'élément de l'objet média de la première présentation qui incorpore la seconde a un élément area avec un attribut fragment. La valeur de cet attribut s'applique seulement au document SMIL incorporé. Il ne s'applique à aucun autre média incorporé dans la seconde présentation SMIL.
Exemples
Ces exemples sont codés dans le profil de langage SMIL 2.0.
Association de liens aux sous-parties syntaxiques
Voici un exemple avec un fichier HTML intégré qui affiche un menu de
link one link two
L'utilisateur peut cliquer sur un des items du menu, et le fichier HTML correspondant est affiché. C'est-à-dire, si l'utilisateur clique sur "link one", le fichier "Link1.html" est affiché dans la région "LinkText". Notez que les liens définis à l'intérieur de la présentation HTML incorporée, ceux de "overridden1.html" et de "overridden2.html" ne sont pas actifs quand ils sont incorporés ici parce qu'ils sont surclassés par les fragments.
Le fichier "menu.html" contient le code :
<html> ... <A NAME="link1" HREF="overridden1.html">link one</A><BR/> <A NAME="link2" HREF="overridden2.html">link two</A>
Le fichier SMIL 2.0 est :
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<layout>
<region id="HTML" width="100" height="100"/>
<region id="LinkText" width="100" top ="100"/>
</layout>
</head>
<body>
<par>
<text region="HTML" src="menu.html" dur="indefinite">
<area fragment="link1" href="#LinkOne"/>
<area fragment="link2" href="#LinkTwo"/>
</text>
<excl dur="indefinite" >
<text id="LinkOne" region="LinkText" src="Link1.html" dur="indefinite"/>
<text id="LinkTwo" region="LinkText" src="Link2.html" dur="indefinite"/>
</excl>
</par>
</body>
</smil>