précédent   suivant   sommaire  

14. Le profil de base et le cadre d'adaptation de SMIL 2.0

Rédacteurs :
Kenichi Kubota (kuboken@isl.mei.co.jp), Panasonic
Aaron Cohen (aaron.m.cohen@intel.com), Intel
Michelle Kim (mykim@us.ibm.com), IBM

Table des matières

14.1 Résumé

SMIL 2.0 fournit un cadre d'adaptation, où une famille de profils SMIL adaptables peut être définie en utilisant des sous-ensembles du profil de langage SMIL 2.0. Un document SMIL peut être écrit conformément à un profil adaptable SMIL de telle façon qu'il fournisse des fonctionnalités réduites sur un appareil aux ressources restreintes tout en autorisant des des possibilités plus importantes avec un appareil plus complet. SMIL 2.0 Basic (ou SMIL Basic) est un profil qui satisfait aux besoins des appareils avec des ressources restreintes comme les téléphones portables ou les lecteurs de CD portables. Le profil SMIL Basic fournit les bases pour définir des profils SMIL adaptables. SMIL Basic est conforme au langage hôte SMIL. Il se compose précisément des modules qui sont requis pour la conformité avec le langage hôte SMIL. Cette section définit le profil SMIL 2.0 Basic et les obligations des documents et agents utilisateurs SMIL Basic conformes. De plus, elle décrit les profils adaptables SMIL, les directives pour les définir et leurs obligations pour la conformité.


14.2 Introduction

Cette section est informative.

Le Langage d'Intégration Multimédias Synchronisés (SMIL) inclut des fonctionnalités puissantes pour des services multimédias variés pour des consommateurs ayant des préférences variées/différentes, allant des appareils de bureau jusqu'aux dispositifs d'information omniprésents tels les téléphones portables, les lecteurs de CD portables, les systèmes de navigation des voitures, les ensembles de télévision et les agents utilisateurs vocaux. Chacune de ces plate-formes a des capacités et des exigences propres. Il est clair que les caractéristiques de SMIL 2.0 ne seront pas toutes requises sur toutes les plate-formes. La modularisation de SMIL 2.0 regroupe les éléments, les attributs, et les valeurs d'attributs de SMIL sémantiquement liés dans un ensemble disjoint de modules SMIL. Ces modules peuvent être recombinés pour produire un profil SMIL qui corresponde aux besoins de différentes communautés. Par exemple, un appareil portable ou un téléphone cellulaire peuvent ne ne gérer qu'un sous-ensemble réduit de modules SMIL 2.0 dans son propre profil.

Ainsi, un profil SMIL permet à un agent utilisateur SMIL d'implémenter seulement le sous-ensemble de la norme SMIL 2.0 dont il a besoin, tout en maintenant l'interopérabilité du document entre les profils d'appareils construits pour des besoins différents. SMIL 2.0 fournit un environnement de développement pour définir une famille de profils adaptables. Un profil adaptable permet aux agents utilisateurs de complexité très variable de rendre, à partir d'un seul document SMIL adaptable, une présentation adaptée aux capacités de l'appareil cible. Une conformité avec le profil SMIL Basic offre une garantie d'interopérabilité.

Les avantages des profils adaptables sont :

Un profil adaptable est défini en élargissant le profil SMIL Basic, en utilisant les facilités de contrôle du contenu pour gérer les caractéristiques spécifiques des applications/appareils via un mécanisme d'espace de de nommage. SMIL Basic est conforme au langage hôte SMIL 2.0. Il contient tous les modules SMIL requis pour la conformité avec le langage hôte. En fait, il ne contient que les modules requis pour la conformité avec le langage hôte. Un agent utilisateur est dit être conforme à SMIL Basic s'il peut interpréter des documents au moins aussi complexes qui ceux autorisés par SMIL Basic. Il peut interpréter des documents significativement plus complexes dans la mesure où il gère des extensions. Les agents utilisateurs conformes au profil de langage SMIL 2.0 sont automatiquement conformes à SMIL 2.0 Basic.

14.3 Le profil SMIL 2.0 Basic

Cette section est normative.

14.3.1 Définition

Le profil SMIL 2.0 Basic se compose du même ensemble des modules requis pour la conformité avec le langage hôte SMIL dans les appareils à ressources restreintes. Cela inclut les modules SMIL 2.0 suivants :

Bien que pas strictement requis, nous encourageons fortement, pour les langages basés sur SMIL Basic à d'inclure le module SyncbaseTiming dans « Les modules de temporisation et de synchronisation de SMIL 2.0 » en utilisant le mécanisme des profils adaptables, et, pour les agents utilisateurs SMIL Basic, de gérer le module quand les limitations de l'appareil ne l'interdisent pas.

Les déclarations des espaces de nommage XML et l'internationalisation

Les déclarations des espaces de nommage XML utilisant les attributs xmlns et d'internationalisation XML xml:lang sont gérés sur tous les éléments.

14.3.2 La conformité des documents SMIL 2.0 Basic

Un document SMIL Basic est un document SMIL Basic « conforme », s'il est un document SMIL 2.0 conforme.

14.3.3 La conformité des agents utilisateurs SMIL 2.0 Basic

Un agent utilisateur SMIL Basic est un programme qui peut analyser des documents SMIL 2.0, traiter le sous-ensemble des fonctionnalités de SMIL 2.0 défini et rendre le contenu du document sur des médias de sortie. Un agent utilisateur SMIL Basic conforme doit respecter tous les critères suivants :

  1. Pour une cohérence avec la recommandation XML 1.0 [XML10], l'agent utilisateur doit analyser et évaluer un document SMIL 2.0 pour vérifier qu'il est bien formé. Si l'agent utilisateur prétend être validant, il doit aussi valider les documents en fonction de leurs DTD référencés selon [XML10] ;
  2. Quand l'agent utilisateur prétend gérer la fonctionnalité de SMIL 2.0 au-travers des éléments et des attributs SMIL 2.0 ainsi que la sémantique associée à ces éléments et attributs, il doit le faire de façon cohérente avec cette spécification ;
  3. L'agent utilisateur doit être capable d'analyser avec succès n'importe quel document SMIL 2.0 conforme et d'implémenter correctement les sémantiques de tous les modules SMIL 2.0 gérés ;
  4. L'agent utilisateur doit être capable d'analyser avec succès des documents SMIL 1.0 conformes et d'implémenter correctement les sémantiques de tous les modules SMIL 2.0 gérés, dans le contexte d'une syntaxe compatible SMIL 1.0 ;
  5. L'agent utilisateur doit gérer entièrement tous les modules SMIL 2.0 listés comme requis pour la conformité avec le langage hôte ;
  6. L'analyseur XML de l'agent utilisateur doit être capable d'analyser et de traiter les constructions XML définies dans [XML10] ainsi que les espaces de nommage XML dans [XML-NS] ;
  7. L'agent utilisateur doit ignorer les attributs et les éléments non implémentés. Les attributs non implémentés devraient être traités comme s'ils n'étaient pas spécifiés. Les éléments non implémentés devrait se voir appliquer le mécanisme de l'attribut skip-content. Si aucun attribut skip-content n'est déclaré, il est sensé avoir la valeur true ;
  8. L'agent utilisateur doit évaluer correctement tous les URI des espaces de nommage de SMIL 2.0 quand ils sont utilisés avec les attributs systemRequired et system-required ;
  9. L'espace de nommage par défaut reconnu par l'agent utilisateur doit être l'un de ces trois types :
    1. Espace de nommage par défaut reconnu en entier par l'agent utilisateur. L'agent utilisateur devrait traiter le document comme la version reconnue. Le mécanisme skip-content (défini dans le module SkipContentControl) sera appliqué aux éléments d'extension non reconnus par l'agent utilisateur. Les éléments non qualifiés qui ne font pas partie de l'espace de nommage par défaut sont illégaux et doivent produire une erreur.

      Exemples :

      • Un document entièrement en SMIL 1.0 :
        <smil xmlns="http://www.w3.org/TR/REC-smil">
         . . .
        </smil>
        
      • Un document entièrement en SMIL 2.0 :
        <smil xmlns="http://www.w3.org/2001/SMIL20/Language">
        . . .
        </smil>
        
      • Un document SMIL 1.0 qui a été étendu pour utiliser l'élément excl :
        <smil xmlns="http://www.w3.org/TR/REC-smil"
              xmlns:smil20="http://www.w3.org/2001/SMIL20">
          <smil20:excl>
            ...
          </smil20:excl>
        </smil>
        
      • Un document SMIL 2.0 qui a été étendu pour utiliser l'élément "foo" d'une version fictive de SMIL 3.0 :
        <smil xmlns="http://www.w3.org/2001/SMIL20/Language"
              xmlns:smil30="http://www.example.org/2002/SMIL30/">
          <smil30:foo>
            ...
          </smil30:foo>
        </smil>
        
    2. Aucune déclaration d'espace de nommage n'est présente dans le document. Le document sera traité comme un document SMIL 1.0 ;
    3. L'espace de nommage par défaut n'est pas reconnu. Un agent utilisateur SMIL ne reconnaîtra pas le document comme une version de SMIL et doit émettre une erreur.
  10. L'agent utilisateur doit gérer les recommandation suivantes du W3C en fonction du contenu SMIL 2.0 :

14.4 Les profils adaptables

Cette section est normative.

Un profil adaptable permet aux agents utilisateurs, du plus simple au plus complexe, de rendre, à partir d'un seul document SMIL adaptable, des présentations intelligentes adaptées aux capacités des appareils cibles. Une famille de profils SMIL adaptables peut se construire en utilisant le profil Basic plus un jeu de modules additionnels qui sont combinés pour les besoins particuliers de chacun des profils. Un profil spécifie une certaine adaptabilité en utilisant les facilités de contrôle de contenu pour gérer les caractéristiques spécifiques des applications/appareils via un mécanisme d'espace de nommage. Ce mécanisme permettra l'extension et la mise en place de sous-ensembles SMIL 2.0 de façon uniforme. L'espace de nommage SMIL 2.0 peut être utilisé avec d'autres espaces de nommage XML selon [XML-NS], bien que de tels documents ne soient pas strictement des documents SMIL 2.0 conformes comme défini par ailleurs. Il est prévu qu'un travail ultérieur du W3C puisse fournir les moyens de spécifier la conformité des documents mettant en œuvre de multiples espaces de nommage.

14.4.1 Définition

Un profil SMIL 2.0 adaptable contient tous les modules du profil SMIL Basic, comme défini ci-dessus.

De plus, il peut contenir un ou plusieurs des modules SMIL 2.0 qui ne font pas partie de SMIL 2.0 Basic.

La déclaration d'espace de nommage XML utilisant l'attribut xmlns et l'attribut d'internationalisation XML xml:lang sont gérés sur tous les éléments.

Un profil adaptable est spécifié en utilisant les facilités de contrôle de contenu via un mécanisme d'espace de nommage comme suit :

  1. L'attribut systemRequired spécifie un ensemble de modules qui doivent être ajoutés à SMIL Basic pour gérer le profil. Le profil est défini comme l'union des modules du profil SMIL 2.0 Basic et ceux spécifiés dans l'attribut systemRequired ;
  2. L'attribut systemRequired peut être spécifié soit sur l'élément racine smil, soit spécifié en-ligne sur les éléments autres que l'élément racine.

14.4.2 Les directives pour l'adaptabilité d'un document SMIL 2.0

Cette section est informative.

Ici, nous présentons certaines directives pour l'adaptabilité, à l'intention des auteurs de contenu SMIL Basic, qui permettront à leurs contenus d'être joués sur le plus large éventail d'appareils conformes SMIL Basic et conformes au langage SMIL 2.0.

Un document SMIL 2.0 doit déclarer l'espace de nommage pour ses éléments avec l'attribut xmlns de son élément racine smil avec son URI identifiant :

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
  ...
</smil>

L'espace de nommage par défaut doit être xmlns="http://www.w3.org/2001/SMIL20/Language".

Avec l'attribut systemRequired l'auteur peut spécifier quels composants de SMIL 2.0 sont requis pour interpréter le document.

Exemples :

L'URI de l'espace de nommage de SMIL et les URI des identifiants de module sont définis et réservés dans les modules SMIL 2.0. Les préfixes des espaces de nommage sont placés par l'auteur du document, par exemple, "transition" et "layout". Cela fournit aux auteurs un moyen d'exprimer explicitement quels modules additionnels sont requis pour la gestion du document.

L'auteur peut choisir de qualifier explicitement des blocs de contenu avec les attributs systemRequired ou system-required. L'exemple suivant contient l'attribut systemRequired sur le conteneur seq dans un élément switch, permettant l'inclusion de l'élément brush quand le test "BrushMedia" réussit, et fournissant une alternative basée sur des images quand le module BrushMedia n'est pas géré :

<smil xmlns="http://www.w3.org/2001/SMIL20/Language"
      xmlns:BrushMedia="http://www.w3.org/2001/SMIL20/BrushMedia" >
  <head>
    <layout>
      <region id="colorbox" top="0px" left="0px" height="50px" width="50px" />
    </layout>
  </head>
  <body>
    <switch>
      <seq systemRequired="BrushMedia">
	<brush dur="5s" color="#0000FF" region="colorbox"/>
	<brush dur="5s" color="#00FF00" region="colorbox"/>
	<brush dur="5s" color="#FF0000" region="colorbox"/>
      </seq>
      <seq>
	<img dur="5s" src="blue.jpg"  region="colorbox"/>
	<img dur="5s" src="green.jpg" region="colorbox"/>
	<img dur="5s" src="red.jpg"   region="colorbox"/>
      </seq>
    </switch>
  </body>
</smil>

La valeur de l'attribut systemRequired réfère à l'URI identifiant le module en utilisant le préfixe de nommage xmlns:, par exemple, "BrushMedia". Il est préférable que ce nom, en tant qu'identifiant du ou des modules requis, soit le nom du module défini dans la spécification SMIL 2.0. La liste des noms des modules est résumée dans les modules SMIL 2.0.

Notez qu'il y a une différence implicite entre l'attribut systemRequired sur l'élément smil et un attributsystemRequired « en-ligne » sur les autres éléments SMIL. Le premier est une obligation forte pour le rendu du document. Par exemple, si le systemRequired sur l'élément smil liste un module que l'agent utilisateur ne gère pas, même si le module n'est effectivement pas utilisé dans le document, le document est malgré tout interdit de présentation par cet agent utilisateur.

Réciproquement, l'utilisation de l'attribut systemRequired sur d'autres éléments spécifie seulement une condition sur le rendu d'un sous-arbre du document. Si une partie du contenu de la présentation requiert une gestion au-delà de SMIL Basic, cela étant spécifié par l'attribut systemRequired sur l'élément smil, les caractéristiques additionnelles devraient être enveloppées avec l'élément switch et des attributs de test du système, ceux-ci pouvant alors être évalués par un agent utilisateur et être traités en conséquence.

14.4.3 La conformité des documents SMIL 2.0 adaptables

Un document SMIL adaptable doit être un document SMIL 2.0 conforme.

14.4.4 La conformité des agents utilisateurs adaptables

Un agent utilisateur conforme doit se conformer aux obligations pour les agents utilisateurs SMIL Basic, ci-dessus.

Un agent utilisateur conforme doit implémenter au minimum tous les modules définis par le profil SMIL 2.0 Basic.

L'élément switch et les attributs de test du système peuvent être traités soit par le client dans le terminal, soit par le serveur, côté serveur avant livraison (peut-être après une négociation CC/PP [CC/PP]).


précédent   suivant   sommaire