Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

XHTML+SMIL profile

Integrare alcune funzionalità SMIL nelle pagine web (XHTML)
Integrare alcune funzionalità SMIL nelle pagine web (XHTML)
Link copiato negli appunti

Una delle potenzialità dei linguaggi XML modulari, è la possibilità di fondere moduli provenienti da linguaggi di versi per integrarne le funzionalità. Il profilo XHTML+SMIL integra tutti i moduli di XHTML con alcuni moduli di SMIL, ad esempio quelli relativi alla sincronizzazione, alle animazioni, agli effetti di transizione.

In questo modo è possibile costruire pagine XHTML il cui contenuto vari dinamicamente nel tempo. Ciò funziona, ovviamente, se si naviga il web con un browser capace di interpretare il profilo XHTML+SMIL.

Prendiamo in considerazione un esempio molto semplice, ecco un documento XHTML:

<?xml version="1.0"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Esempio pagina XHTML</title>
</head>

<body>
<div>Esempio XHTML</div>
<div>by Dott. Alessandro Meo</div>
</body>

</html>

Per integrare in questo documento le funzionalità SMIL dobbiamo innanzitutto cambiare la dichiarazione del DOCTYPE, specificando il profilo XHTML+SMIL; in più è necessario dichiarare un namespace che faccia riferimento alle funzionalità SMIL, nel nostro caso il namespace smil:

<?xml version="1.0"?>

<!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">

<head>
<title>Esempio pagina XHTML+SMIL</title>
</head>

<body>
<div>Prova XHTML+SMIL</div>
<div>By Dott. Alessandro Meo</div>
</body>

</html>

Ora non ci resta che inserire nel corpo del documento gli elementi e gli attributi SMIL preceduti dal namespace “smil” precedentemente dichiarato:

<?xml version="1.0"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+SMIL //EN"
      "http://www.w3.org/2001/SMIL20/WD/xhtmlplussmil.dtd"&g
t;

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:smil="http://www.w3.org/2001/SMIL20">

<head>
<title>Esempio pagina XHTML+SMIL</title>
</head>

<body>

<smil:seq repeatCount="indefinite">
  <div smil:dur="2">Prova XHTML+SMIL</div>
  <div smil:dur="2">By Dott. Alessandro Meo</div>
</smil:seq>

</body>

</html>

Il profilo XHTML+SMIL, oltre ad fondere gli elementi e gli attributi di due linguaggi, definisce alcuni attributi aggiuntivi.

Particolarmente interessante è timeContainer, che permette ad un qualsiasi elemento XHTML di funzionare come un elemento <par>, <seq> o <excl> di SMIL. Ad esempio possiamo fare in modo che un elemento <div> di XHTML funzioni come un elemento <par> di SMIL.

<?xml version="1.0"?>

<!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">

<head>
<title>Esempio pagina XHTML+SMIL</title>
</head>

<body>
<smil:seq repeatCount="indefinite">
  <div smil:dur="2">Prova XHTML+SMIL</div>
  <div smil:dur="2">By Dott. Alessandro Meo</div>
  <div timeContainer="par">
    <span smil:begin="0.5" smil:dur="3">www</span>
    <span smil:begin="1" smil:dur="3">.</span>
    <span smil:begin="1.5" smil:dur="3">meoale</span>
    <span smil:begin="2" smil:dur="3">.</span>
    <span smil:begin="2.5" smil:dur="3">it</span>
  </div>
</smil:seq>
</body>

</html>

Purtroppo non esiste ancora un browser che implementi in modo pulito il profilo XHTML+SMIL, l’unica soluzione, per vedere all’opera gli esempi illustrati sopra, è modificarli secondo l’implementazione di XHTML+SMIL presente in Internet Explorer (dalla versione 5.5 in su) ed utilizzare tale browser per visualizzarli.

Ti consigliamo anche