Documento XML asociado a una DTD externa
Existen dos tipos de DTD externa: privada y pública. Para las privadas se utiliza SYSTEM y para las públicas PUBLIC. La sintaxis en cada caso es:
<!DOCTYPE elemento-raíz SYSTEM "URI">
<!DOCTYPE elemento-raíz PUBLIC "identificador-público" "URI">
DTD externa privada - SYSTEM
EJEMPLO Si en un archivo llamado "marcadores.dtd" se escribiese la siguiente DTD:
<!ELEMENT marcadores (pagina)*>
<!ELEMENT pagina (nombre, descripcion, url)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT descripcion (#PCDATA)>
<!ELEMENT url (#PCDATA)>
El siguiente documento XML llamado "marcadores-con-dtd-externa.xml", sería válido:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE marcadores SYSTEM "marcadores.dtd">
<marcadores>
<pagina>
<nombre>Abrirllave</nombre>
<descripcion>Tutoriales de informática.</descripcion>
<url>http://www.abrirllave.com/</url>
</pagina>
<pagina>
<nombre>Wikipedia</nombre>
<descripcion>La enciclopedia libre.</descripcion>
<url>http://www.wikipedia.org/</url>
</pagina>
<pagina>
<nombre>W3C</nombre>
<descripcion>World Wide Web Consortium.</descripcion>
<url>http://www.w3.org/</url>
</pagina>
</marcadores>
- En este documento XML, haciendo uso de una DTD externa privada, se ha escrito una lista de marcadores de páginas web, guardando de cada uno de ellos su nombre, una descripción y su URL.
DTD externa pública - PUBLIC
EJEMPLO El siguiente documento XML está asociado a una DTD externa pública:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Título</title>
</head>
<body>
<p>Párrafo</p>
</body>
</html>
- -//W3C//DTD XHTML 1.0 Strict//EN es un FPI (Formal Public Identifier, Identificador Público Formal).