Tutoriales de informática - Abrirllave.com

Abrirllave.com

Entidades paramétricas externas analizables en DTD

En una DTD se pueden declarar dos tipos de entidades paramétricas externas analizables (parsed): privadas y públicas. Para las privadas se utiliza SYSTEM, y para las públicas PUBLIC. La sintaxis en cada caso es:

<!ENTITY % nombre-de-la-entidad SYSTEM "URI">
%nombre-de-la-entidad;
<!ENTITY % nombre-de-la-entidad PUBLIC "identificador-público" "URI">
%nombre-de-la-entidad;

Entidades paramétricas externas analizables privadas - SYSTEM

EJEMPLO En la DTD del siguiente documento XML, se ha declarado la entidad persona:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE persona [
   <!ENTITY % persona SYSTEM "persona.dtd">
   %persona;
]>

<persona>
   <nombre>Iker</nombre>
   <mayor_de_edad/>
   <ciudad>Pamplona</ciudad>
</persona>

Suponiendo que el archivo "persona.dtd" contenga:

<!ELEMENT persona (nombre, mayor_de_edad?, ciudad)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT mayor_de_edad EMPTY>
<!ELEMENT ciudad (#PCDATA)>

En un navegador web (por ejemplo en Mozilla Firefox) se podrá ver:

Visualización del archivo persona.xml en Mozilla Firefox - Ejemplo del tutorial de DTD de {Abrirllave.com

Entidades paramétricas externas analizables públicas - PUBLIC

EJEMPLO Para declarar persona como entidad paramétrica externa analizable pública, se puede escribir:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE persona [
   <!ENTITY % persona PUBLIC "-//W3C//TEXT persona//EN" "http://www.abrirllave.com/dtd/persona.dtd">
   %persona;
]>

<persona>
   <nombre>Iker</nombre>
   <mayor_de_edad/>
   <ciudad>Pamplona</ciudad>
</persona>