La struttura di base per la programmazione con il linguaggio XHTML
ALLWEB free
Directory Web Script Linguaggi
Italiano Inglese Tutte
 
 23 Jan 2017
aggiungi in preferiti  
Home    Mappa directory    Script




Struttura XHTML:

Per iniziare a programmare in XHTML dobbiamo conoscere le leggi che regolano la sua stesura.
Tali regole sono dettate dal W3C e sono basilari per la corretta compilazione del codice.




Struttura di base:

La programmazione XHTML non ammette alternative alla struttura di base se non quelle prescritte dal W3C (determinate da eventuali variazioni di versioni di XHTML).

Possiamo comunque dire che una struttura di base deve rispettare le seguenti caratteristiche:
(Nell'esempio XHTML versione 1.0 e DTD transitional)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
</head>
<body>
</body>
</html>



Dichiarazione XML:

La prima riga (<?xml version="1.0" encoding="UTF-8"?>) è una dichiarazione XML che indica la versione del linguaggio XML ed il tipo di codifica dei caratteri presenti nel documento.


!DOCTYPE

La riga successiva mostra a quale DTD ci riferiamo per validare il linguaggio XHTML.
I DTD (Document Type Definition ) sono fogli dove sono specificati i componenti ammessi per un linguaggio di markup XML. I DTD per xhtml definiscono i tag ed i loro attributi che un documento XHTML può contenere, e le regole secondo le quali possiamo scrivere tali tag.

Per il linguaggio XHTML esistono tre tipi di DTD (Visionabili a questa pagina):


Strict:

Contiene le specifiche per un linguaggio di markup molto ferree, è utilizzabile solo per inserire del testo presentato con i CSS.
I tag <applet>, <basefont>, <center>, <dir>, <font>, <isindex>, <menu>, <s>, <strike> <u> e <xmp> non sono supportati.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


Transitional:

Contiene delle specifice meno rigide, appositamente creata per la migrazione da HTML a XHTML. è possibile inserire anche le tabelle per il layout e tag come <applet>, <basefont />, <center>, <dir>, <font>, <iframe>, <menu>, <s>, <strike> <u>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Frameset:

Utilizzabile con siti suddivisi in frame, simile a transitional, ma è possibile utilizzare anche i tag <frame>, <frameset>, <noframes>.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">



Radice e namespace:

Per radice intendiamo il tag di base, in pratica quello che raccoglie tutti gli altri.
Nel linguaggio XHTML il tag radice è <html> e </html>. Tutti i tag che compongono la pagina devono essere inclusi fra questi due tag.

All'interno del tag radice è obbligatorio indicare il namespace dei tag inseriti nel documento (leggete il prossimo paragrafo per capire cosa sono i namespace).


Cenno namespace:

XHTML è un linguaggio creato da XML che sfutta i tag di HTML. Tutto quello contenuto all'interno di XHTML segue le leggi di programmazione XML.
XML si pone come linguaggio base per la costruzione di nuovi linguaggi di markup, ossia linguaggi di scrittura contenenti tag (HTML è un linguaggio di markup).
Proprio perchè crea linguaggi di markup è possibile che più linguaggi interagiscano al suo interno, magari con tag uguali o simili. Per differenziare fra loro eventuali tag ci vengono in aiuto i namespace.

Il namespace è una dichiarazione all'interno del documento che specifica la provenienza dei tag. Tale dichiarazione si effettua scrivendo il dominio di provenienza di tali tag all'interno del tag radice, oppure all'inizio del foglio purché i tag siano distinti da loro con un prefisso (lettera) che li precede separati da : (due punti). Nel caso di più namespace con uno senza prefisso, vuol indicare che siamo in presenza di un namespace di default.

esempio di due namespace con uno integrato nella pagina:
(Riprodotto da W3C Recommendation)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>A Math Example</title>
</head>
<body>
<p>The following is MathML markup:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
    <apply><log/>
        <logbase>
            <cn> 3 </cn>
        </logbase>
            <ci> x </ci>
    </apply>
</math>
</body>
</html>

esempio di due namespace con prefisso:
<a:html xmlns:a="http://www.indirizzo_primo_namespace.com/...."
xmlns:b="http://www.indirizzo_secondo_namespace.com/...." >
<a:head>
<a:title></a:title>
</a:head>
<a:body>
    <b:ciao>
        <b:ciao2>
        </b:ciao2>
    </b:ciao>
</a:body>
</a:html>

esempio di due namespace con uno di default:
<html xmlns:="http://www.indirizzo_primo_namespace.com/...."
xmlns:b="http://www.indirizzo_secondo_namespace.com/...." >
<head>
<title></title>
</head>
<body>
    <b:ciao>
        <b:ciao2>
        </b:ciao2>
    </b:ciao>
</body>
</html>