Ir al contenido principal

Declaración de entidades en XML


Pasamos a explicar los diferentes tipos de entidades que podemos definir para nuestras DTD's.

Existen 3 tipos de entidades q podemos definir en nuestras DTD's:

1. Entidades internas

Tambien llamadas macros ó constantes de texto, las entidades internas son las q se asocian a una cadena de caracteres. Se referencian única y exclusívamente desde el fichero.
Ej:

<!ENTITY nom "Juan Pérez López"> 
Así, si escribo en mi documento (en el código fuente, si estas dentro de un editor wysiwyg): &nom; es como si estuviera escribiendo Juan Pérez López.

NOTAS:

Las entidades internas pueden incluir referencias a otras entidades internas, con la salvedad de q se forme un ciclo entre ellas. XML tiene 5 entidades internas predefinidas:

&lt; Es sustitído por el símbolo <
&gt; Es sustitído por el símbolo >
&amp; Es sustitído por el símbolo &
&apos; Es sustitído por el símbolo '
&quot; Es sustitído por el símbolo "

2. Entidades externas

Sirven para referenciar su contenido ó valor desde otros ficheros, los cuales pueden ser binarios (ej,, una imagen jpg) o de texto( ej. fichero xml).
Si el contenido del fichero que hace la referencia es de texto, entonces se sustituye tal y como si de una entidad interna se tratara.
Ej.

<!ENTITY arch System "arch.txt"> 

Inserta el contenido del fichero arch.txt en lugar en la q se hace la referencia.

Si fuera binario, la referencia se sustituiría por el texto siempre y cuando éste forme parte de un atributo cualquiera del fichero.
Ej:

<!ENTITY NDATA miurl="http://tttttt.com"> 

Esto se podría referenciar así: <A href="&miurl;"...> .... </A>

3. Entidades de parámetros

Son especiales xq sólo pueden aparecer en las DTD's.
Son prácticamente igual q las entidades anteriores.Por ello su sintaxis es distinta:

Se usa % para preceder al nombre de la entidad tanto en su definición como en su referencia.

Ej:
Antes de saber manejar entidades con parámetros:

<!ELEMENT motos EMPTY>
<!ATTLIST motos
    a CDATA #REQUIRED
    b CDATA #REQUIRED
    c CDATA #REQUIRED> 


Después de saber manejar entidades con parámetros:

<!ENTITY %items "a CDATA #REQUIRED b CDATA #REQUIRED c CDATA #REQUIRED">
<!ELEMENT motos EMPTY>
<!ATTLIST motos %items> 


Declaraciones de notación

Se usan para indicar el tipo de los ficheros binarios referenciados mediante las referencias a entidades externas .
OJO! este dato no se analiza por el Parser!
La propia aplicación será, x tanto, la encargada de manejar la información.

Ej:

<!NOTATION GIF87A SYSTEM "GIF"> 

Uso de las Dtd's

Recordad que el uso de DTD's no es obligatorio pero si necesario(al menos, desde mi punto de vista).

A la hora de usar una DTD, podemos elegir (del mismo modo que en JavaScript ó ASP) bien incrustarla dentro del propio documento, ó bien vincularla a un archivo externo.
Esto es lo primero q deberíamos de indicar en el documento.

Ejs:
a) Definición interna de una DTD.

<?XML version="1.0" standalone="yes"?>

<! DOCTYPE cars SYSTEM "cars.dtd " [

   <!ELEMENT cars (...)*>
    <!ATTLIST cars ...>

    . . .
]>

<cars>
. . . . .
</cars>
b)

Definición externa de una DTD.

<?XML version="1.0" standalone="yes"?>

<! DOCTYPE cars SYSTEM "www.javieryjorge.com/lengs/cars.dtd " >

<cars>
. . . . .
</cars>
Las referencias (a DTD's externas) te las puedes encontrar de 2 fomas:
SYSTEM:

Ej:

<! DOCTYPE cars SYSTEM "javieryjorge.com/lengs/cars.dtd " > 

Este tipo de notación la usan los desarrolladores cuando la DTD sólo va a tener ámbito local u interno dentro de una organización, asi como cuando se va a emplear para uso particular.
Básicamente es como si pusieramos private (privado)
PUBLIC:

Ej:

<!DOCTYPE CONTACTS PUBLIC "ISO//Autor//Descripción//Idioma"> "http://www.../pepito.dtd" > Este tipo es utilizado por estandares u organismos.
En la declaración se suelen indicar 4 campos normalmente:

1. El nombre del organismo.
   (ISO indica estandar ISO; + indica estandar NO ISO)
2. Cadena de caracteres en la q se suele poner el nombre del autor de la DTD.
3. Descripción breve de lo que hace.
4. Idioma: ES español; EN inglés.

Acerca del uso de uno u otro formato, yo os recomiendo que useis las externas de sistema, pues son las mejores tanto en usabilidad (modificas una y te vale para todos los archivos referenciados a ella) como en visibilidad (en el doc .xml sólo se observa una línea).

Por otra parte es importante que sepas que ya hay estandares definidos por empresas, colectivos, equipos de investigación, etc...
Así, por ejemplo, estan el Chemical Markup Language(CML), el Mathematical Markup Language (MathML), etc...

Documentos XML válidos ó bien formados.

Un documento bien formado es el que sigue las reglas básicas de XML para diseño de documentos.
Un documento válido es un documento bien formado que además respeta las normas dictadas por su DTD.
Todos los documentos XML han de estar bien formados, si bien no es obligatorio q sean válidos (aunq si es recomendable).

Comentarios

Entradas populares de este blog

Cómo desarrollar un algoritmo que permita botar la basura

Crear un algoritmo para botar la basura puede parecer sencillo, pero es una excelente manera de introducir conceptos de programación y automatización. A continuación, te presento un ejemplo de algoritmo en pseudocódigo, seguido de un artículo que explica su funcionamiento. Algoritmo en Pseudocódigo: Botar la Basura Inicio Si hay basura en el bote Si el bote está lleno Llevar el bote a la zona de recolección Fin Si Si es día de recolección Colocar el bote en la acera Fin Si Fin Si Fin Artículo: Automatizando la Tarea de Botar la Basura Introducción En la vida diaria, las tareas repetitivas como botar la basura pueden consumir tiempo valioso que podríamos dedicar a actividades más productivas o placenteras. La automatización de estas tareas mediante algoritmos no solo nos ahorra tiempo, sino que también nos permite introducir eficiencia y consistencia en nuestras rutinas diarias. El Algoritmo de Botar la Basura El algoritmo presentado es un conjunto de ins...

Compartir presentaciones en línea con SlideShare

Si eres de los usuarios que suelen trabajar en equipo, sabes de lo difícil que a veces resulta compartir la información relativa al trabajo que estamos realizando, muchas veces seguramente nos ha sucedido que a algunos miembros del equipo, o no les ha llegado la información, o directamente la han perdido. Y nuevamente debemos crear un correo, adjuntarles el archivo y esperar a que salga de la bandeja. Aburrido y cansador, sobre todo en el caso de las pesadas presentaciones.

Pasos Para Instalar Windows XP

Cuando nos hablan de instalar sistemas operativos, creemos que es muy difícil y que seguramente no seremos capaces de de hacerlo solos. Pues me he tomado a la tarea de realizar este pequeño tutorial para demostrarles paso a paso que no es tan complejo como parece. Para que se ahorren un buen dinerito a la hora de enfrentarse una instalación promovida por un daño en el disco duro o quizás por un virus informático.