PDA

View Full Version : DTD di tutti i gusti .. ma xkè in alcuni compare xml ad esempio?!


Matrixbob
27-04-2004, 14:02
Posso trovare ad esempio:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

oppure

<?xml version="1.0" encoding="iso-8859-1"?>

oppure

<?xml version="1.0" encoding="iso-8859-1"?>
<!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">

che differenze ci sono tra le 3 dichiarazioni prima di <head> .. </head>, etc .. ?!

Matrixbob
27-04-2004, 14:05
Avrei bisogno di qualche lezione o perla di saggezza su come iniziare le mia pagina web in sostanza.
Mi aiutate plz?!
TNX

texerasmo
27-04-2004, 14:43
Ti convine leggerti della ducumentazione su xml che c'è in rete.
Cmq qunado viene dichairato una dtdt oppure uno schema bell xml è perche xml deve essere validato.
Che vuol dire validato?
In sostanza xml ha due regole fondamnetali la prima well-formed e la seconda puo essere validato da una dtd o schem cioè deve rispecchiare una determinata alberatura.

esempio:
se nella schema definisci una alberatura del genere
<scaffale>// root
n figli libri
<libro>
<titolo></titolo>
<autore></autore>
</libro>
</scaffale>

texerasmo
27-04-2004, 14:52
scusami mi e scappato un invio involotario..

esempio:
se nella schema definisci una alberatura del genere
<scaffale>/
<libro id="1">
<titolo></titolo>
<autore></autore>
</libro>
</scaffale>

ovvero il primo tag deve essere scaffale
puo avere n figli libri con un attributo id numerico e solamente due figli titolo e autore.
Ora Se tu scrivi un xml del genere
<scaffale>/
<libro id="1">
<titolo></titolo>
<autore></autore>
<costo></costo>
</libro>
</scaffale>
la valitazione non va a buon fine.

quindi...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
richiama una dtd

<?xml version="1.0" encoding="iso-8859-1"?>
definisce un xml con un encoding="iso-8859-1"


Questo è piu o meno xml con alcuni dei suoi concetti.



Avrei bisogno di qualche lezione o perla di saggezza su come iniziare le mia pagina web in sostanza.

http://www.html.it/guida/ e trovi delle inidcazione di come creare la tua prima pagina.

Matrixbob
27-04-2004, 21:52
No mi sono spiegato male, io vorrei capire cosa mettere prima dell head.
Non come si fa la pagina web. ... ora è chiaro?

lombardp
28-04-2004, 07:03
Originariamente inviato da Matrixbob
Posso trovare ad esempio:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

oppure

<?xml version="1.0" encoding="iso-8859-1"?>

oppure

<?xml version="1.0" encoding="iso-8859-1"?>
<!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">



La differenza non è molto evidente perché i browser attualmente quasi la ignorano, nel senso che riescono a "renderizzare" la pagina anche in loro assenza.

Te le descrivo una ad una:

<?xml version="1.0" encoding="iso-8859-1"?>

Serve a dire al browser che il resto del documento utilizzerà una notazione XML versione 1.0. Per ora è praticamente l'unica e questa stessa dichiarazione è formalmente necessaria, ma di fatto non necessaria, nel senso che tutto funziona anche se non c'è. Anzi i vecchi browser hanno problemi.

<!DOCTYPE ...>

Questa dichiarazione serve a stabilire il DOCUMENT TEMPLATE DOCUMENT a cui si conforma il resto del documento. Il DTD in pratica contiene la descrizione sintattica del linguaggio HTML utilizzato. In teoria il browser dovrebbe renderizzare diversamente uno stesso codice HTML a seconda del DTD. Il DTD serve anche ai validatori per sapere rispetto a cosa validare.

xmlns ...

Significa XML NameSpace, definisce in pratica la "libreria" di marcatori a cui si riferisce. Anche in questo caso si tratta di qualcosa di formalmente necessario. La gestione dei NAMESPACE in XML/XHTML permette per esempio di utilizzare anche linguaggi diversi all'interno del solito documento. Per esempio potresti "mischiare" XHTML e SVG nella stessa pagina.



Nell'HEAD metti la dichiarazione più estesa. Quando hai una versione finale della pagina, passala al validatore del W3C e correggi le inesattezze.

Matrixbob
28-04-2004, 07:42
Di norma, io utente medio che ancora non uso l'XML, che dichiarazione di DTD dovrei fare all'inizio delle mie pagine XHTML?!

texerasmo
28-04-2004, 09:34
se usi una dtd significa anche che vuoi rispettare una regola nel scrivere una alberatura xhtml.
xhtml non è altro che html well-formed

xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<img alt="" src="" />
</body>
</html>


html


<html>
<body>
<img src="">
</body>
</html>

nota il tag img
Quindi se vuoi usare un xhtml deve essere well-formed se in devi validarlo usa una dtd.
Non c'è una norma precisa dipende quello che devi fare.

lombardp
28-04-2004, 09:56
Originariamente inviato da Matrixbob
Di norma, io utente medio che ancora non uso l'XML, che dichiarazione di DTD dovrei fare all'inizio delle mie pagine XHTML?!

Quello che vuole dirti texerasmo è che se scrivi in XHTML, allora utilizzi XML.

In altre parole: XML non è propriamente "un linguaggio", è più che altro una serie di regole da seguire.

Scrivere in XHTML significa scrivere in HTML secondo quelle regole.

Matrixbob
28-04-2004, 19:33
Originariamente inviato da lombardp
Per esempio potresti "mischiare" XHTML e SVG nella stessa pagina.

Cosa è SVG?!
Anche del SQL embeded potrei mischiare con XHTML?!

Matrixbob
28-04-2004, 19:34
Originariamente inviato da lombardp
Nell'HEAD metti la dichiarazione più estesa.

Più estesa di cosa?!

Matrixbob
28-04-2004, 19:39
Originariamente inviato da lombardp
Scrivere in XHTML significa scrivere in HTML secondo quelle regole.

Ok se non voglio seguire le regole dichiarate in xml allora mi ridurrei ad esempio con:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
etc, etc ..
</html>

giusto?!

lombardp
29-04-2004, 08:37
Originariamente inviato da Matrixbob
Più estesa di cosa?!

Se fai iniziare la tua pagina con:


<?xml version="1.0" encoding="iso-8859-1"?>
<!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">


significa che intenderai scrivere la tua pagina secondo le regole di XHTML 1.0 transitional, che equivale in tutto e per tutto a HTML 4 scritto rispettando tutte le regole di XML.

Per esempio <img src=""> non va bene perché è un marcatore non chiuso, devi scrivere <img src="" />, etc etc

Comunque tu inserisci la dichiarazione di cui sopra, fai la tua pagina HTML, poi passala al validatore del W3C e correggi le eventuali inesattezze.

Cosa è SVG?!

Linguaggio in stile XML per grafica vettoriale e animazione. Attualmente implementato solo da pochi plugin ed in modo molto parziale. Se implementato in modo completo, dovrebbe poter competere addirittura con Flash quanto a funzionalità.

Matrixbob
30-04-2004, 19:36
Ok grazie, siete stati veramente d'aiuto nel chiarimi le idee.
Ro.