Questa sezione del documento introduce SGML e descrive la sua relazione con HTML. Per una discussione completa di SGML si rimanda allo standard (si veda [ISO8879] ).
SGML è un sistema per definire linguaggi di marcatura. Gli autori marcano i loro documenti rappresentando informazioni riguardanti struttura, presentazione e semantica accanto al contenuto. Ecco un esempio di documento HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><HTML> <HEAD> <TITLE>Il mio primo documento in HTML</TITLE> </HEAD> <BODY> <P>Ciao mondo! </BODY></HTML>
Un documento HTML è suddiviso in una intestazione (qui, tra <HEAD> e </HEAD>) e un corpo (qui, tra <BODY>e </BODY>). Il titolo del documento appare nell'intestazione(assieme ad altre informazioni relative al documento), e il contenuto del documento appare nel corpo. Il corpo in questo esempio contiene un solo paragrafo, marcato con <P>.
Ogni linguaggio di marcatura definito in SGML è chiamato
Le Specifiche HTML 4.0 includono una Le seguenti sezioni introducono costrutti SGML che sono usati in HTML. L'appendice elenca alcune Una definizione del tipo di documentoSGML dichiara i tipi di elementi che rappresentano strutture o comportamenti desiderati. HTML include tipi di elementi che rappresentano paragrafi, collegamenti ipertestuali, elenchi, tabelle, immagini, ecc. Ciascuna dichiarazione del tipo di elemento presenta generalmente tre parti: un tag di inizio, il contenuto, e un tag di fine. Il nome dell'elemento appare nel tag di inizio (scritto<nome-elemento>) e nel tag di fine (scritto </nome-elemento>); si noti ilcarattere barra ("/") prima del nome dell'elemento nel tag di fine. Per esempio, i tag di inizio e di fine del tipo di elemento UL delimitano le voci di un elenco: Alcuni tipi di elementi HTML permettono agli autori di omettere i tag di fine(ad es., i tipi di elementi P e Alcuni tipi di elementi HTML non hanno contenuto. Per esempio, l'elemento interruzione di riga BR non ha contenuto; il suo unico compito è quello di terminare una riga di testo. Tali elementi vuoti non hanno mai tag di fine.La definizione del tipo di documento e il testo delle Specifiche indicano se un tipo di elemento è vuoto (non ha contenuto) o, nel caso possa avere contenuto, quale contenuto è considerato legale. I nomi di elemento sono sempre insensibili alla forma maiuscola/minuscola delle lettere che li specificano. Si consulti lo standard SGML per informazioni sulle regole che governano gli elementi (ad es., gli elementi devono essere annidati appropriatamente, un tag di fine chiude, a ritroso fino al tag di inizio corrispondente (sezione 7.5.1), tutti i tag di inizio interposti non chiusi con tag di fine omessi, ecc.). Per esempio, il seguente paragrafo: può essere riscritto senza il suo tag di fine: poichè il tag di inizio <P> è chiuso dal successivo elemento a livello del blocco.Similmente, se un paragrafo è racchiuso da un elemento a livello del blocco, come in: il tag di fine dell'elemento a livello del blocco che lo racchiudesottintende il tag di fine del tag di inizio <P> aperto. Gli elementi non sono tag. Alcune persone si riferiscono agli elementi come a tag (ad es., "il tag P"). Si ricordi che l'elemento è una cosa, e il tag (che sia di inizio o di fine) un'altra. Per esempio, l'elemento HEAD è sempre presente, anche se i tag HEAD di inizio e di fine possono entrambi mancare nella marcatura. Tutti i tipi di elementi dichiarati in queste Specifiche sono elencati nell'indice degli elementi . Gli elementi possono avere proprietà associate, chiamate In questo esempio, l'attributo id è impostato per un elementoH1: Per predefinizione, SGML richiede che tutti i valori di attributo siano delimitati usando o doppi apici (ASCII decimale 34) o apici semplici (ASCII decimale 39). Gli apici semplici possono essere inclusi dentro il valore di attributo quando il valore è delimitato da doppi apici, e viceversa. Gli autori possono usare anche referenze al carattere numeriche per rappresentare doppi apici (") e apici semplici ('). Per i doppi apici gli autori possono usare anche la In certi casi, gli autori possono specificare il valore di un attributo senza utilizzare alcun apice. Il valore dell'attributo può contenere solo lettere (a-z e A-Z), cifre (0-9), trattini (ASCII decimale 45), e punti (ASCII decimale 46). Si raccomanda di utilizzare gli apici anche quando è possibile eliminarli. I nomi di attributo sono sempre insensibili alla forma maiuscola/minuscola delle lettere che li specificano. I valori degli attributi sono generalmente insensibili alla forma maiuscola/minuscola delle lettere che li specificano. La definizione di ogni attributo nel manuale di riferimento indica se il valore è insensibile alla forma maiuscola/minuscola delle lettere. Tutti gli attributi definiti da queste Specifiche sono elencati nell'indice degli attributi. Le referenze al carattere sono nomi numerici o simbolici per i caratteri che possono essere inclusi in un documento HTML.Sono utili per riferirsi a caratteri raramente usati, o a quelli che risulta difficile o impossibile inserire tramite gli strumenti di creazione. Si vedranno referenze al carattere dal principio alla fine di questo documento; esse cominciano con un segno "&" e terminano con unpunto e virgola (;). Alcuni esempi comuni includono: Si discuteranno le referenze al carattere HTML in dettaglio più avanti nella sezione sull' I commenti HTML hanno la seguente sintassi: Lo spazio bianco non è permesso tra il delimitatore di apertura della dichiarazione di marcatura ("<!") e il delimitatore di apertura del commento ("--"), ma è permesso tra il delimitatore di chiusura del commento ("--") e il delimitatore di chiusura della dichiarazione di marcatura (">"). Un errore comune è l'inclusione di una stringa di trattini ("---") dentro un commento. Gli autori dovrebbero evitare di porre due o più trattini adiacenti nei commenti. L'informazione che appare in mezzo ai commenti non ha significato speciale (ad es., le referenze al carattere non sono interpretate come tali). Ciascuna dichiarazione di elemento e di attributo in queste Specifiche è accompagnata dal suo frammento di definizione del tipo di documento. Si è scelto di includere i frammenti DTD nelle Specifiche piuttosto che ricorrere a un mezzo più facile, ma più lungo e meno preciso, per descrivere le proprietà di un elemento. La seguente guida dovrebbe permettere ai lettori non familiari con SGML di leggere la DTD e comprendere i dettagli tecnici delle Specifiche HTML. Nelle DTD, i commenti possono estendersi su una o più righe. Nella DTD, i commenti sono delimitati da una coppia di interpunzioni "--", ad es. La DTD HTML incomincia con una serie di definizioni di entità parametro. Una definizione di entità parametro definisce un tipo di macro che può essere richiamata ed espansa altrove nella DTD. Queste macro non possono apparire nei documenti HTML, solo nella DTD. Altri tipi di macro, chiamate referenze al carattere, possono essere usate nel testo di un documento HTML o dentro i valori di attributo. Quando l'entità parametro viene riferita per nome nella DTD, essa viene espansa in una stringa. Una definizione di entità parametro inizia con la parola chiave <!ENTITY % seguita dal nome dell'entità, la stringa tra apici in cui l'entità si espande, e infine un > di chiusura. Le instanze di entità parametro in una DTD iniziano con "%", proseguono con il nome dell'entità parametro, e terminano con un ";" opzionale. L'esempio seguente definisce la stringa in cui l'entità "%fontstyle;" si espanderà. La stringa in cui l'entità parametro si espande può contenere altri nomi di entità parametro. Questi nomi sono espansi ricorsivamente. Nell'esempio seguente si definisce l'entità parametro"%inline;" per raggruppare le entità parametro "%fontstyle;", "%phrase;", "%special;" e "%formctrl;". Si incontreranno frequentemente due entità DTD nella La maggior parte della DTD HTML è composta dalle dichiarazioni dei In questo esempio: Questo esempio illustra la dichiarazione di un tipo di elemento vuoto: Il modello di contenuto descrive che cosa può essere contenuto da una istanza di un tipo di elemento. Le definizioni di modello di contenuto possono includere: Il modello di contenuto di un elemento è specificato tramite la seguente sintassi: Ecco alcuni esempi dalla DTD HTML: L'elemento UL deve contenere uno o piùelementi LI. L'elemento DL deve contenere uno o più elementi DT o DD in un ordine qualsiasi. L'elemento OPTION può contenere solo testo ed entità, quali& -- questo è indicato dal tipo di dato SGML #PCDATA. Qualche tipo di elemento HTML usa una caratteristica addizionale di SGML per escludere elementi dal proprio modello di contenuto. Gli elementi esclusi sono preceduti da un trattino. Le esclusioni esplicite prevalgono sugli elementi permessi. In questo esempio, -(A) significa che l'elemento Si noti che il tipo di elemento A è parte dell'entità parametro DTD "%inline;", ma è esplicitamente escluso a causa della presenza di -(A). Analogamente, la seguente dichiarazione del tipo di elemento La parola chiave <!ATTLIST inizia la dichiarazione degli attributi che un elemento può avere. È seguita dal nome dell'elemento in questione, una lista di definizioni di attributo, e un > di chiusura. Ciascuna definizione di attributo è una tripla che definisce: In questo esempio viene definito l'attributo nomeper l'elemento MAP. L'attributo è opzionale per questo elemento. Il tipo di valori permessi per l'attributo è specificato come CDATA, un tipo di dato SGML. CDATAè testo che può contenere referenze ai caratteri. Per maggiori informazioni su "CDATA", "NAME", "ID", e altri tipi di dati, si consulti la sezione sui tipi di dati HTML. Gli esempi seguenti illustrano diverse definizioni di attibuto: L'attributo rowspan richiede valori di tipo NUMBER.Il valore predefinito è specificato esplicitamente come "1". L'attributo opzionale http-equiv richiede valori di tipo NAME. L'attributo opzionale id richiede valori di tipo ID. Il valore opzionale valign è obbligato ad assumere valori nell'insieme {top, middle, bottom, baseline}. Le definizioni di attributo possono contenere anche riferimenti ad entità parametro. In questo esempio si vede che l'elenco delle definizioni di attributo per l'elemento Tag di inizio: obbligatorio, Tag di fine: proibito L'entità parametro "%attrs;" è definita come segue: L'entità parametro "%coreattrs;" nella definizione"%attrs;" si espande come segue: L'entità parametro "%attrs;" è stata definita per convenienza poichè questi attributi sono definiti per la maggior parte dei tipi di elementi HTML. Analogamente, la DTD definisce l'entità parametro "%URI;" come entità che si espande nella stringa "CDATA". Come questo esempio illustra, l'entità parametro"%URI;" fornisce ai lettori della DTD maggiori informazioni circa il tipo di dato aspettato per un attributo. Entità analoghe sono state definite per"%Color;", "%Charset;", "%Length;", "%Pixels;", ecc. Alcuni attributi giocano il ruolo di variabili booleane (ad es., l'attributo Gli attributi booleani possono prendere legalmente un unico valore:il nome dell'attributo stesso (ad es., selected="selected"). Questo esempio definisce l'attributo L'attributo è impostato a "vero" dato che appare nel tag di inizio dell'elemento: In HTML, gli attributi booleani possono apparire in forma invece di: Gli autori dovrebbero essere consapevoli che molti interpreti HTML riconosconosolo la forma minimizzata degli attributi booleani e non la forma completa.3.2 Costrutti SGML usati in HTML
3.2.1 Elementi
<UL><LI><P>...voce 1 dell'elenco...<LI><P>...voce 2 dell'elenco...</UL>
<P>Questo è il primo paragrafo.</P>...un elemento a livello del blocco...
<P>Questo è il primo paragrafo....un elemento a livello del blocco...
<DIV><P>Questo è il paragrafo.</DIV>
3.2.2 Attributi
<H1 id="sezione 1">Questa è una intitolazione identificabile grazie all'attributo id</H1>
3.2.3 Referenze al carattere
3.2.4 Commenti
<!-- questo è un commento --><!-- anche questo è un commento, che occupa più di una riga -->
3.3 Come leggere la DTD HTML
3.3.1 Commenti nella DTD
<!ELEMENT PARAM - O EMPTY -- valore di proprietà con nome assegnato -->
3.3.2 Definizioni delle entità parametro
<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
3.3.3 Dichiarazioni degli elementi
<!ELEMENT UL - - (LI)+>
<!ELEMENT IMG - O EMPTY>
Definizioni dei modelli di contenuto
<!ELEMENT UL - - (LI)+>
<!ELEMENT DL - - (DT|DD)+>
<!ELEMENT OPTION - O (#PCDATA)>
<!ELEMENT A - - (%inline;)* -(A)>
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM)>
3.3.4 Dichiarazioni degli attributi
<!ATTLIST MAP name CDATA #IMPLIED >
rowspan NUMBER 1 -- numero di righe occupate da una cella --http-equiv NAME #IMPLIED -- nome dell'intestazione HTTP di risposta --id ID #IMPLIED -- identificatore unico nell'ambito del documento -- valign (top|middle|bottom|baseline) #IMPLIED
Entità DTD nelle definizioni degli attributi
<!ELEMENT LINK - O EMPTY -- collegamento indipendente dai media --><!ATTLIST LINK %attrs; -- entità %coreattrs, %i18n, %events -- charset %Charset; #IMPLIED -- codifica dei caratteri della risorsa collegata -- href %URI; #IMPLIED -- URI della risorsa collegata -- hreflang %LanguageCode; #IMPLIED -- codice di lingua -- type %ContentType; #IMPLIED -- tipo di contenuto con funzione guida -- rel %LinkTypes; #IMPLIED -- tipi di collegamento diretti -- rev %LinkTypes; #IMPLIED -- tipi di collegamenti inversi -- media %MediaDesc; #IMPLIED -- per la riproduzione su questi media -- >
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
Attributi booleani
selected (selected) #IMPLIED -- spaziatura ridotta tra le voci --
(n.d.t.: il commento "spaziatura ridotta tra le voci" è errato: è relativo all'attributo booleano "compact" )<OPTION selected="selected">...contenuto...</OPTION>
<OPTION selected>
<OPTION selected="selected">
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- en
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Static
Wikipedia 2007 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- en
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Static
Wikipedia 2006 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Sub-domains
CDRoms
- Magnatune
- Librivox
- Liber
Liber - Encyclopaedia
Britannica - Project
Gutenberg - Wikipedia
2008
- Wikipedia
2007 - Wikipedia
2006 -
Other
Domains
https://www.classicistranieri.it
- https://www.ebooksgratis.com
- https://www.gutenbergaustralia.com
- https://www.englishwikipedia.com
- https://www.wikipediazim.com
- https://www.wikisourcezim.com
- https://www.projectgutenberg.net
- https://www.projectgutenberg.es
- https://www.radioascolto.com
- https://www.debitoformtivo.it
- https://www.wikipediaforschools.org
- https://www.projectgutenbergzim.com