054 011 15-4437-6034
skip to the main content area of this page
XML

Valid XHTML 1.0!

 

 

Buenos Aires, Argentina.

Ultima fecha de actualización, Agosto de 2001.

 

 

Anterior      Menú Principal      Siguiente

 

¿Qué es XML?:

Es un subconjunto simplificado (cercano a la décima parte) de SGML con el que se puede transmitir datos estructurados.

Es erróneo ver a XML como una versión extendida de HTML, este último es un lenguaje de marcado para presentar información en la Web, mientras que XML es una especificación para diseñar lenguajes de marcado, es por eso que se lo denomina metalenguaje. En otras palabras, HTML es una aplicación específica de SGML mientras que XML es un subconjunto de SGML con el que generar aplicaciones específicas.

La idea con este metalenguaje es proporcionar soporte para transmitir datos en texto plano, brindando una clara descripción del contenido y de la relación que existe entre las distintas  piezas de datos, poniéndo especial énfasis en separar contenido de presentación, o sea, la información de cómo esta debe verse.

Aparentemente XML sirve para todo, pero hay que tener en cuenta que no es una solución en si mismo, sino que es un marco para crear herramientas con las cuales, sí, desarrollar soluciones. 

Claro.

Sino estamos como el tipo que, porque compró un buen martillo, comenzó a ver todo como un clavo.

 

Sintaxis:

El bloque de construcción básico de XML es la entidad. Esta contiene datos analizados sintácticamente y/o datos no analizados sintácticamente. Los datos analizados sintácticamente son caracteres de marcado y son procesados por un analizador o parser XML, los datos no analizados sintácticamente se manejan como texto y un parser XML no los analiza.

 

<nombre>Eusebio</nombre>

 

<nombre> y </nombre> son datos analizados sintácticamente, marcado o tag, mientras que Eusebio es dato no analizado sintácticamente o datos.

El marcado nos proporciona una descripción de la estructura de almacenamiento de un documento XML, que contiene una o más entidades, y de la lógica en que estas entidades se dividen en elementos.

Un documento XML debe ser visto como una colección de entidades soportadas en uno o más archivos físicos, a esto se le denomina la estructura física. Estructura lógica se denomina a la definición de elementos que conforman a una entidad.

Para seguir con la sintaxis XML vamos a ver los distintos tipos de componentes de marcado que soporta XML 1.0

 

Etiquetas de elemento.
Instrucciones de procesamiento.
Declaraciones de tipo de documento.
Referencias de entidades.
Comentarios.
Secciones marcadas.

 

Para entender mejor esta clasificación veamos el siguiente documento XML que sirve para almacenar información sobre contactos.

 

<?xml version="1.0"?>

<!DOCTYPE agenda SYSTEM "Contactos.dtd" [

<ENTITY amp “&#38; #38;">

<ENTITY apos “&#39" >

]>

<agenda>

<contacto>

           <!- Este es el primo de Melinda. ->

           <nombre>Epaminondas Cornejo</nombre >

           <direccion>Fondo de la Legua 452</direccion>

           <ciudad>Ranchos</ciudad>

           <provincia>Buenos Aires</provincia>

           <codigo postal>2514</codigo postal>

           <telefono>

                       <fijo>4589-8734</fijo>

                       <celular>15-4478-3829</celular>

                       <fax>4589-8735</fax>

           </telefono>

           <email>epaminondas@yahoo.com</email>

           <web>www.epaminondas .com</web>

           <organizacion>El Rancho e&apos;La Cambicha</organizacion>

</contacto>

<contacto>

           <!- Mamá de Marianito. ->

           <nombre>Segunda Guglielminpietro</nombre >

           <direccion>La Marea 4567</direccion>

           <ciudad>Buenos Aires</ciudad>

           <provincia>Ciudad Autonoma de Buenos Aires</provincia>

           <codigo postal>1837</codigo postal>

           <telefono>

                       <fijo>4738-3928</fijo>

                       <celular>15-5499-3287</celular>

                       <fax>4738-3930</fax>

           </telefono>

           <email>romualdo@hotmail.com</email>

           <web>www.romualdo.com</web>

           <organizacion>Romualdo &amp; Miravalles</organizacion>

</contacto>

</agenda>

 

 

Etiquetas:

Las etiquetas se emplean para describir elementos. Por ejemplo, las etiquetas que sirven para describir el elemento ciudad en el ejemplo de la agenda. (<ciudad> y </ciudad>). Si bien en este ejemplo no hay ninguno, existen etiquetas que no encierran datos no analizados sintácticamente, por ejemplo:

 

<vacio></vacio>

 

escribirlo de este modo es correcto de acuerdo con la sintaxis XML, también lo es de la siguiente forma:

 

<vacio/>

 

Referencias de entidades:

Esto se utiliza para asignar un alias a una pieza de datos. En nuestro ejemplo definimos apos y amp para poder utilizar apóstrofes y ampersands respectivamente como datos de caracteres analizados sintácticamente. Estas referencias se encierran entre un ampersand y un punto y coma, por ejemplo: &amp;.

En general las referencias a entidades deben ser declaradas explícitamente antes de ser usadas en un documento XML. Existen algunas referencias a entidades que no requieren declaración, estas son &amp;, &apos;, &lt; y &gt; que corresponden a ampersand, apóstrofe, menor y mayor. Si bien un documento en el que no se declaren estas referencias de entidades se puede considerar bien formado, no puede tomarse como válido. Más adelante volveremos sobre estos dos conceptos.

 

Comentarios:

Empiezan con <!- y termina con ->, funcionan del mismo modo que los comentarios en cualquier ambiente. Todo lo que aparece entre <!- y -> no se analiza en un parser XML.

 

Instrucciones de procesamiento:

Los parsers XML no tienen que hacer nada con las instrucciones de procesamiento, están para que el parser pase el valor descripto en la instrucción de procesamiento a la aplicación en la que se ejecuta el parser. Comienzan con <? Y terminan con ?>, por ejemplo:

 

<?xml version="1.0"?>

 

esta instrucción de procesamiento indica en qué versión del XML se basa el documento. De esta forma la aplicación puede conocer en que versión se encuentra la información para decidir si procesarla en caso de soportar la versión que se informa o no hacerlo.

 

Declaraciones de tipo de documento:

Una declaración de tipo de documento debe cumplir con lo siguiente:

 

Especificar el elemento raiz del documento,
Definir entidades, elementos y atributos específicos del documento (DTD interna) o
Identificar una DTD externa.

 

DTD es la definición de tipo de documento, donde se especifican las entidades, elementos y atributos. Esta definición sea interna o externa es crucial a la hora de saber si un documento es válido o no o si sólo está bien formado.

Concretamente, un documento XML está bien formado (well formed, en las especificaciones del W3C) cuando adhiere a la sintaxis XML, un documento válido es un documento bien formado que adhiere a una DTD.

En el ejemplo de la agenda:

 

<!DOCTYPE contacto SYSTEM  "Contactos.dtd">

 

En esta declaración de tipo de documento (abreviada respecto de la original) se define contactos como el elemento raiz, establece una DTD externa, de nombre Contactos.dtd, que se encuentra en la misma carpeta que el archivo que soporta al documento.

Las DTDs internas sólo tienen sentido cuando se aplican a un sólo archivo físico. Hay detractores de las DTDs internas aún cuando se apliquen a un sólo archivo físico, la crítica se fundamenta en que de esa forma se trabaja con dos sintaxis distintas dentro de un mismo archivo, esto porque las DTDs tienen una sintaxis particular que no tiene nada que ver con la sintaxis XML.

 

Secciones marcadas o CDATA:

Son secciones de datos no analizados sintácticamente. Comienza con <![CDATA[ y finaliza con ]]> 

Documentos XML bien formados (well formed):

Un documento de texto XML está bien formado si:

 

Contiene uno o más elementos.
Hay exactamente un elemento llamado raiz.
Los elementos delimitados con etiquetas de comienzo y final deben anidarse adecuadamente.
Todos los documentos XML a los que se referencie están bien formados

 

Herramientas:

Herramientas de creación:

SoftQuad XMetal, soporta CSS y tiene GUI, disponible para Windows 98, NT y 2000, http://www.sq.com, http://www.softquad.com y http://www.softquad.com/products/xmetal.
Adobe FrameMaker+SGML, tiene GUI, manipula documentos XML y SGML, disponible para Windows 98, NT y 2000, http://www.adobe.co.uk/products/framemaker/prodinfosgml.html
Arbortext Epic Editor, tiene GUI, manipula documentos XML y SGML, disponible para Windows 98, NT, 2000 y Unix, http://www.arbortext.com/
Stilo Web Writer, tiene GUI, aporta una solución gráfica, genera DTD automáticamente, disponible para Windows 98, NT y 2000, http://www.stilo.com/webwriter.htm
IBM Xeena, tiene GUI, disponible para Windows98, NT, 2000, Macintosh y Unix, http://www.alphaworks.ibm.com/tech/xeena
Vervet Logic XML Pro, tiene una GUI muy clara, disponible para Windows 98, NT, 2000, Linux y Unix Solaris, http://www.vervet.com/product-index.html
Bluestone Visual-XML, tiene GUI, orientado a soluciones con bases de datos, permite conectarse a ellas y efectuar consultas SQL, como es un desarrollo Java debe ejecutarse sobre una plataforma Java, puede descargarse gratis de http://www.bluestone.com/xml/Visual-XML o http://www.bluestone.com.
Bloc de Notas XML Microsoft, es la más simple de las herramientas que acá se describen, tiene GUI, es muy simple y está disponible para Windows 98, NT y 2000, se puede descargar gratuitamente de http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxml/html/xmlpadintro.asp

 

Herramientas de Administración de Contenido:

Poet, disponible para Windows 98,NT, 2000 y Unix Solaris HP-UX, http://www.poet.com
Chrystal Astoria, disponible para Windows98, NT, 2000 y Unix Solaris, http://www.chrystal.com
Oracle 8i, establece un mecanismo para mover datos entre bases de datos y archivos XML, disponible para Windows NT, OS/2 y varias plataformas Unix, http://www.oracle.com/database/oracle8i

 

El XML ToolSet de IBM:

Xplorer, es una herramienta que permite buscar, analizar y validar documentos XML.
XML Viewer, se relaciona con la herramienta anterior y proporciona una vista gráfica de un documento XML.
XML Translator Generator, permite convertir documentos XML de un vocabulario a otro.
XML Diff and Merge, se usa para comparar documentos XML y obtener sus diferencias y homogeneizarlas. Se usa como herramienta de revisión de contenido muy útil en un desarrollo donde intervienen múltiples personas.

Estas son herramientas desarrolladas por el AlphaWorks deIBM, son aplicaciones Java , de distribución libre y pueden descargarse desde http://www.alphaworks.ibm.com

 

Referencias:

Se puede conseguir más información sobre XML en los siguientes links:

http://www.w3.org/TR/REC-xml aquí se encuentra la recomendación W3C sobre XML.

http://www.ucc.ie/xml FAQ de XML

http://www.w3.org/XML/ Este es el site oficial de XML.

http://www.hotwired.com/webmonkey/xml Web Monkey XML

http://www.stars.com Biblioteca del desarrollador Web

http://www.oasis-open.org/cover/xml.html La página de Robin Cover

http://www2.software.ibm.com/developer/education.nsf/dw/xml-onlinecourse-bytitle Tutoriales de IBM

http://www.ibiblio.org/xml/ Café con Leche XML News and Resources

http://www.xml-zone.com/

http://www.goxml.com/

http://msdn.microsoft.com/xml/default.asp

http://www.xmlmag.com/upload/free/features/xml/2001/05may01/toc0102/toc0102.asp

http://www.w3schools.com/xml/

http://www.w2000mag.com/sqlmag/atrasados/01_sep00/articulos/XML_1.htm XML y SQL Server 2000

http://www.xml.com/

http://www.xml.org/

http://www.it.uc3m.es/~xml/

http://www.webdeveloper.com/xml

 

Otros lugares recomendables:

http://msdn.microsoft.com/scripting 

http://www.alphaworks.ibm.com Este es el site del grupo AlphaWorks de IBM dedicado a XML.

http://java.sun.org El site de java de Sun Microsistems.

http://www.gamelan.com 

http://www.scripting.com

http://www.webdeveloper.com

 

Navegadores:

Internet Explorer, http//:msdn.microsoft.com/ie

Netscape Navigator, http//:www.netscape.com

Opera, http//:www.opera.com

Mozilla, http//:www.mozilla.org

Amaya, http//:www.w3.org/Amaya

 

 

Anterior      Menú Principal      Siguiente

 

 

Carlos Marcelo Santos.

Valid XHTML 1.0!