HTML/XHTML  »  Guide  »  Guida XHTML 

Gli script in XHTML



Uno degli argomenti più spinosi relativi a XHTML è la gestione dei linguaggi di programmazione, tradizionalmente incorporati nel documento con il tag <script>. Procediamo con ordine.

Uso di <script>

In HTML il tag <script> serve a incorporare nel documento codice di programmazione. Il linguaggio più comunemente usato è Javascript. Il tag è supportato anche in XHTML e va ugualmente inserito nella sezione <head>....</head>. L'elemento <script> supporta i seguenti attributi:

charset Specifica la codifica dei caratteri
defer Dice al browser che lo script non genera documenti
langauage Specifica il linguaggio di scripting. È obbligatorio quando l'attributo src non è specificato.
src Contiene l'URL di uno script contenuto in un file esterno
type Obbligatorio. Indica il tipo MIME dello script: es "text/javascript"
xml:space Usato per mantenere la spaziatura del codice

Dunque, uno script può essere direttamente incorporato nella pagina oppure inserito in un file esterno e richiamato:

Script incorporato

<script type="text/javascript" language="javascript">
<!--
document.open()
document.writeln("Questo è XHTML!")
document.close()
//-->
</script>


Script collegato

<script type="text/javascript" src="mioscript.js">

</script>

Caratteri pericolosi

Fin qui niente di nuovo. Il problema sorge quando nello script si utilizzano caratteri "pericolosi" (sensitive characters nella definizione XHTML). Si tratta di caratteri che possono ingenerare confusione e fraintendimenti perchè il processore XML li interpreta in un modo, nel linguaggio di scripting hanno tutt'altro significato. In Javascript > significa "maggiore di"; in XML indica la chiusura di un tag. Che fare? Il W3C suggerisce due vie, ma entrambe presentano punti deboli.

Usare le sezioni CDATA

Nella specifica si suggerisce di racchiudere gli script all'interno di una sezione CDATA. Esse vengono usate in documenti XML per racchiudere blocchi di testo contenenti caratteri che potrebebro essere interpretati come elementi di marcatura.

Una sezione CDATA inizia con la stringa <![CDATA[ e termina con ]]>. Ecco come lo script visto in precedenza apparirebbe:

<script type="text/javascript" language="javascript">
<![CDATA[
document.open()
document.writeln("Questo è XHTML!")
document.close()
]]>
</script>

Il punto debole di questo approccio è che i nostri browser non gestiscono affatto bene le sezioni CDATA.

Usare script esterni

Si potrebbe ovviare scrivendo gli script in un file esterno e collegandolo al documento. Tutto bene. Ma se bisogna modificare lo script, magari con ASP o comunque con variazioni lato server? Non è possibile farlo.

E allora? In effetti, se la situazione è quella appena prospettata, non rimane che usare il vecchio metodo. Avremo un documento non conforme al 100% in attesa che XHTML sia in grado di incorporare i linguaggi di scripting diversamente.

Ultimi articoli HTML/XHTML

Inserire video nelle pagine Web con HTML5

Codec, compatibilità dei browser, tools, codice e best practices per...

LungoJS: semantica HTML5 per il mobile

Realizzare layout per dispositivi mobili tenendo conto della...

Web storage, i cookies secondo HTML5

Come rendere persistenti i dati con HTML5

HTML5, section o article? ...E il div?

Cerchiamo di fare chiarezza sull'uso di questi due nuovi elementi e...

HTML5, la validazione del codice

Gli strumenti per verificare l'aderenza agli standard di pagine e...

Altri articoli

Guide HTML/XHTML

Guida HTML5

Una guida per conoscere e applicare da subito le novità introdotte...

Guida XHTML

XHTML è il nuovo standard per il WEB ed è la transizione verso...

Altre guide

Newsletter @Daily HTML.it

Ogni mattina, dal lunedì al venerdì, le novità pubblicate su tutti i siti tecnici del network HTML.it: articoli, guide, notizie dal Web, blog e molto altro.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti