Empecemos escribiendo una sencilla versi�n del tipo de dato XML que podr�amos usar para una representaci�n de diapositivas. En este ejercicio, usaremos nuestro editor de texto para crear los datos y as� familiarizarnos con el formato b�sico de un fichero XML.
�Crear el Fichero
Usando un editor de textos est�ndard, creamos un fichero llamado slideSample.xml.
Nota:
aqu� tienes una versi�n de: slideSample01.xml. |
�Escribir la Declaraci�n
Luego, escribimos la declaraci�n, que identifica el documento como un documento XML. La declaraci�n empieza con los caracteres "<?", que es el identificador est�ndard XML para una instrucci�n de procesador
<?xml version='1.0' encoding='us-ascii'?>
Esta l�nea identifica el documento como un documento XML que est� conforme a la versi�n 1.0 de la especificaci�n XML, y dice que usa el esquema de codificaci�n de caracteres 8-bit US ASCII. Como no se ha especificado como un documento "standalone", el analizador asume que podr�a contener referencias a otros documentos.
�A�adir un Comentario
Los comentarios son ignorados por los analizadores XML. De echo nunca los veremos, a menos que activemos las selecciones especiales en el analizador.
<?xml version='1.0' encoding='us-ascii'?> <!-- A SAMPLE set of slides -->
�Definir el Elemento Ra�z
Despu�s de la declaraci�n, todo documento XML define exactamente un elemento, conocido como el elemento ra�z. Cualquier otro elemento del fichero est� contenido dentro de este elemento. El texto en negrita de abajo define el elemento ra�z de este fichero, slideshow.
<?xml version='1.0' encoding='us-ascii'?> <!-- A SAMPLE set of slides --> <slideshow> </slideshow>
�A�adir Atributos a un Elemento
Una presentaci�n de diapositivas tiene un n�mero de �tems de datos asociados, ninguno de los cuales requiere una estructura. Por eso es natural definirlos como atributos del elemento slideshow. A�adimos el texto en negrita de abajo para configurar algunos atributos.
... <slideshow title="Sample Slide Show" date="Date of publication" author="Yours Truly" > </slideshow>
Cuando creamos un nombre para una etiqueta o un atributo, podemos usar guiones ("-"), subrayados ("_"), dos puntos (":"), y puntos (".") adem�s de caracteres y n�meros.
Nota:
Los dos puntos deben usarse con cuidado o incluso ser evitados, porque se usan para definir el espacio de nombres para un documento XML. |
�A�adir Elementos Anidados
XML permite estructuras de �rbol, lo que significa que un elemento puede contener otros elementos. A�adimos el texto en negrita de abajo para definir un elemento slide y un elmento title dentro de �l.
... <!-- TITLE SLIDE --> <slide title="Title of Talk"/> <!-- TITLE SLIDE --> <slide type="all"> <title>Wake up to WonderWidgets!</title> </slide> </slideshow>
Aqu� tambi�n hemos a�adido un atributo type a la diapositiva. La idea de este atributo es que est� diapositiva podr�a ser remarcada para una audiencia m�s t�cnica o m�s ejecutiva con type="tech" o type="exec", o identificarla como adaptable para ambos con type="all".
Este ejemplo ilustra la diferencia entre las cosas que son m�s �tiles al definirlas como elementos (el elemento title) y cosas que es mejor definirlas como atributos (el atributo type). El t�tulo es algo que ver� la audiencia. Por eso es un elemento. Por otro lado, el tipo es algo que nunca se representar�, por eso es un atributo. Otra forma de pensar en esta distinci�n es que un elemento es un contenedor, como una botella. El tipo es una caracter�stica del contenedor (es alto o bajo, ancho o estrecho). El t�tulo es una caracter�stica del contenido (agua, leche o te). Estas no son unas reglas muy r�pidas pero nos pueden ayudar cuando dise�emos nuestras propias estructuras XML.
�A�adir Texto al Estilo HTML
Como XML nos permite definir cualquier etiqueta que queramos, tiene sentido definir un conjunto de etiquetas que se parezcan al HTML. El est�ndard XHTML hace exactamente esto. Por ahora, teclearemos el texto en negrita de abajo para definir un par de listas de entradas que usan etiquetas de estilo HTML <em> para enfatizar el texto.
... <!-- TITLE SLIDE --> <slide type="all"> <title>Wake up to WonderWidgets!</title> </slide> <!-- OVERVIEW --> <slide type="all"> <title>Overview</title> <item>Why <em>WonderWidgets</em> are great</item> <item>Who <em>buys</em> WonderWidgets</item> </slide> </slideshow>
M�s adelante veremos que definir un elemento title crea un conflicto con el elemento XHTML que usa el mismo nombre. Discutiremos el mecanismo que produce el conflicto (el DTD) y varias posibles soluciones cuando cubramos la secci�n Analizar el DTD parametrizado.
�A�adir un Elemento Vac�o
Una diferencia mayor entre HTML y XML, es que todo el XML debe estar bien formateado -- lo que significa que cada etiqueta debe tener una etiqueta de cierre o debe ser una etiqueta vac�a. Ya estamos acostumbrados a las etiquetas de cierre. A�adimos el texto en negrita de abajo para definir una lista de �tems vac�a.
... <!-- OVERVIEW --> <slide type="all"> <title>Overview</title> <item>Why <em>WonderWidgets</em> are great</item> <item/> <item>Who <em>buys</em> WonderWidgets</item> </slide> </slideshow>
Observa que cualquier elemento puede ser un elemento vac�o. Todos toman su etiqueta final con "/>" en lugar de ">". Podr�amos hacer lo mismo introduciendo <item></item>, que es su equivalente.
�El Producto Terminado
Aqui tenemos la versi�n completa del fichero XML.
<?xml version='1.0' encoding='us-ascii'?> <!-- A SAMPLE set of slides --> <slideshow title="Sample Slide Show" date="Date of publication" author="Yours Truly" > <!-- TITLE SLIDE --> <slide type="all"> <title>Wake up to WonderWidgets!</title> </slide> <!-- OVERVIEW --> <slide type="all"> <title>Overview</title> <item>Why <em>WonderWidgets</em> are great</item> <item/> <item>Who buys <em>WonderWidgets</em> </item> </slide> </slideshow>
Ahora que hemos creado un fichero para trabajar, estamos listos para escribir un programa que use el analziador SAX. Lo haremos en la siguiente secci�n.