# 4.5 - DTD interne ed esterne

## DTD interne

Una DTD puo' apparire all'interno di un documento xml o in un file esterno, come nel caso del file `planes.dtd` visto nella lezione precedente.

Se la specifica DTD e' inclusa nel codice del documento xml allora deve venire introdotta con questa riga:

`<!DOCTYPE nome_radice [
...
]>`

Per esempio, la struttura del documento xml "`planes.xml`" con la sua DTD inclusa e' la seguente:

`<?xml version = "1.0"?>
<!DOCTYPE planes [
`

<!-- The DTD for planes -->
]>
<!-- The planes XML document -->

## DTD esterne

Quando la DTD si trova nel proprio file, il documento xml include la dichiarazione `DOCTYPE` come seconda riga. Tale dichiarazione ha la seguente forma:

`<!DOCTYPE nome_radice_documento_XML SYSTEM "nome_file_DTD">`

Supponendo che la DTD sia memorizzata nel file `planes.dtd`, allora per il file `planes.xml` la dichiarazione sarebbe della DTD sarebbe la seguente:

`<!DOCTYPE planes_for_sale SYSTEM "planes.dtd">`

Il seguente e' un esempio di documento XML valido per la DTD `planes.dtd`:

Esempio file XML `planes`: `versione TXT` ---- `versione XML`