Reklama

zonerbooks.cz | zoner.cz | czechia.com | regzone.cz | inshop.cz | inmail.cz | zonerpress.cz | zonerantivirus.com | zonerama.cz

interval.cz

SMIL - Timed Interactive Multimedia Extensions for HTML

27. 07. 2004 | Šimon Grimmich | XML | Komentáře: 0

Timed Interactive Multimedia Extensions for HTML, zkráceně HTML+TIME, je výsledkem spolupráce společností Microsoft, Macromedia, Compaq/Dec a Digital Renaissance. HTML+TIME je rozšířením SMILu do standardních prohlížečů, především Microsoft Internet Exploreru 5 a vyšších. Tento formát zapojuje časování a synchronizaci do dokumentů (X)HTML.

HTML+TIME 1.0 staví na specifikaci SMIL 1.0. Později se objevila specifikace HTML+TIME 2.0, která je podporována v MSIE 5.5. Tato specifikace staví na HTML+SMIL language profile podle W3C. HTML+TIME 2.0 zapojuje do prohlížeče některé moduly SMILu 2.0, zejména Timing and Synchronization module, Animation module, Media Object module a Integration module.

HTML+TIME se liší od SMILu v několika bodech:

  • některé prvky a atributy chybí, protože jsou zbytečné - zejména jde o vizuální část SMILu, kterou nahrazuje CSS
  • některé prvky jsou přidány
  • integrace do zdrojového kódu stránky se provádí odlišným způsobem

HTML+TIME úspěšně integruje SMIL do některých prohlížečů, což umožňuje jeho efektivní použití ve firemních sítích. V budoucnu lze snad předpokládat rozšíření HTML+TIME i do dalších produktů.

Specifikace HTML+TIME

HTML+TIME vypouští některé elementy z původní specifikace SMIL 1.0, z důvodu zbytečnosti:

  • smil - v HTML je nahrazen elementem html
  • layout - rozvržení je prováděno pomocí CSS
  • region - nahrazen CSS
  • root-layout - nahrazen CSS
  • text - text není v HTML tvořen objektem
  • anchor - obrázkové mapy nejsou podporovány

Dále mizí také řada atributů (zejména v XHTML), které jsou nahrazeny CSS - top, left, height, width, background-color, z-index a další. Zato se objevuje několik nových atributů určujících chování dokumentu (beginEvent, endWith, endEvent, repeatDur, viz dále). Mnoho původních (X)HTML prvků je ale doplněno o atributy SMILu, aby s nimi bylo možno manipulovat na časové ose (například p, div, span, h1-6, strong, em a další).

Nakonec byly původní SMIL elementy (už jich nezbylo moc) doplněny o namespace t (t:seq, t:par, t:media, t:img, t:video), jejich funkce však zůstala stejná. Rovněž atributy byly ve specifikaci HTML+TIME doplněny o namespace t (t:dur, t:src, t:begin, t:end), avšak pokud není použit, žádné problémy nenastávají, spíše naopak, při jeho použití některé věci špatně fungují.

Atributy (X)HTML prvků

Nyní se podíváme na význam nových atributů (X)HTML prvků. Z původních čistě (X)HTML atributů je nejdůležitějším atribut id, který umožňuje absolutní pojmenování prvku a pozdější odvolání na něj.

  • beginWith - hodnotou je id elementu, který se má zobrazit ve stejnou chvíli
  • endWith - hodnotou je opět id elementu, který se skryje ve stejnou chvíli
  • beginAfter - id elementu, se kterým se začne manipulovat po skončení manipulace s aktuálním elementem
  • beginEvent - hodnotou je id (form.onSubmit) nebo name (document.onLoad) události, závisle na ní se pak element zobrazí
  • endEvent - ukončení závislé na události
  • repeat - počet opakování zobrazení, hodnota "indefinite" způsobí nekonečné opakování
  • repeatDur - doba opakování (sec), hodnota "indefinite" způsobí nekonečné opakování

Pokud je hodnotou atributu čas v sekundách, je možné použít i desetinné číslo s desetinnou tečkou (0.5 = půl sekundy).

Integrace HTML+TIME 2.0 do (X)HTML

Dokument (X)HTML bude nutné doplnit o několik informací, zejména o deklaraci typu dokumentu:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+SMIL //EN" "htmlplussmil.dtd">

Element head je doplněn o namespace (jmenný prostor):

<html xmlns:t ="urn:schemas-microsoft-com:time">

Dále musíme použít procesní instrukci pro přidání definice HTML+TIME značek:

<?import namespace="t" implementation="#default#time2">

Nakonec zbývá přidat tabulku stylů, určující behavior HTML+TIME prvků:

<style>
  .time {behavior: url(#default#time2);}
</style>

Každý element ohraničující část kódu s HTML+TIME musí mít nastavenu třídu time. Výsledný dokument vypadá takto:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+SMIL //EN" "htmlplussmil.dtd">
<html xmlns:t ="urn:schemas-microsoft-com:time">
<?import namespace="t" implementation="#default#time2">
<style>
  .time {behavior: url(#default#time2);}
</style>
<body>
...HTML dokument
  <div class="time">
  ...HTML+TIME
  </div>
...HTML dokument
</body>
</html>

Příklady HTML+TIME pro MSIE 5.5 a 6

Blikající text, ať už pomocí elementu blink nebo pomocí CSS, byl po čase z dobrého důvodu zavržen. Avšak pomocí HTML+TIME můžeme blikající text vytvořit nanovo (náhled):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+SMIL //EN" "htmlplussmil.dtd">
<html xmlns:t ="urn:schemas-microsoft-com:time">
<head>
  <?import namespace="t" implementation="#default#time2">
  <title>Nechutný blikající text</title>
  <style>
  .time, p {behavior: url(#default#time2)}
  </style>
</head>
<body>
  <div style="width: 200px;height: 40px;">
    <t:seq class="time" dur="0.2" repeatDur="1000">
      <p begin="0" dur="0.1">
      Nechutný blikající text
      </p>
    <t:seq>
  </div>
</body>
</html>

Celý vtip spočívá v tom, že "t:seq", sekvence trvající 0.2 s a opakující se po dobu 1000 s, obsahuje odstavec textu, kterému je na časové ose vyhrazen úsek 0.1 s. Znamená to, že 0.1 sekundy je vidět text a dalších 0.1 sekundy vidět není.

HTML+TIME je možné aplikovat i na VML, pomocí jednotlivých sekvencí nebo prostřednictvím atributů:

<v:shape class="time" dur="5s" begin="4s" style='width: 60; height: 60' stroke="true" strokecolor="black" strokeweight="1" fill="true" fillcolor="white" coordorigin="0 0" coordsize="60 60">
<v:path v="m 30,0l 60,15,60,45,30,60,0,45,0,15x e" />
</v:shape>

XHTML+SMIL Profile

S MSIE 6 přišel nový profil pro integraci SMILu do prohlížečů, nazvaný XHTML+SMIL Profile, který integruje podmnožinu specifikace SMIL 2.0. Profil zahrnuje podporu animací, kontroly obsahu, mediálních objektů, časování, synchronizací a přechodů. Některé moduly SMIL 2.0 chybí, ale většinou jsou nahrazeny CSS. Dlužno říci, že MSIE6 sice XHTML+SMIL podporuje, avšak ne zcela korektně, mnohem lépe si vede s HTML+TIME.

Základní hlavičky XHTML+SMIL dokumentu vypadají následovně:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+SMIL //EN" "http://www.w3.org/2001/SMIL20/WD/xhtmlplussmil.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:smil="http://www.w3.org/2001/SMIL20">

Má SMIL smysl?

Svět multimediálních prezentací vypadá zbytečně zamotaně, což je způsobeno existencí mnoha profilů a technologií. Nejlepší bude shrnout vývoj popisovaných formátů v několika bodech:

Jazyk SMIL může najít uplatnění zejména ve firemních sítích, na samotném internetu se zatím moc často nepoužívá. Nutno podotknout, že multimediální zprávy MMS rovněž vycházejí z jazyka SMIL, takže je možné, že se jeho doménou stanou mobilní zařízení. SMIL přináší univerzální, výkonné a přitom nenáročné řešení, které je pro mobilní platformu mnohem důležitější než pro oblast PC.


Reklama


Další aktuální články na interval.cz

Tematicky související články

Dejte vědět i ostatním o článku

Diskuse (počet komentářů: 0)

Buďte prvním návštěvníkem, který přidá nový komentář.

Přidat nový komentář

Jméno a e-mail jsou nepovinné. Příspěvky obsahující odkaz jsou moderovány.

Zoner AntiVirus Free pro Android
zabezpečte si svůj smartphone, zdarma
Profesionální eshop Zoner inShop od 990 Kč.
Reklama
Reklama

Syndikace

hledáme nové autory | redakce interval.cz | reklama na interval.cz

© ZONER software, a.s., všechna práva vyhrazena, interval.cz dodržuje právní předpisy o ochraně osobních údajů. Powered by WordPress.