Juan Rodríguez [Consultor] *
InternetConsultoría en Internet
ConsultoríaNuestros servicios de Consultoría en Internet Arq. InformaciónArquitectura de la Información Diseño WebDiseño web y presencia en Internet Calidad WebCalidad en el diseño web y en su presencia en Internet PosicionamientoAlta y posicionamiento en buscadores
ArtículosArtículos sobre Internet y colaboraciones en prensa InformaciónInformación sobre Internet
ContactarExpónganos sus inquietudes e intentaremos ayudarle
*
Mapa WebConsultoría en Internet
Mapa Web - Directorio
<< Menú >>
Juan Rodríguez [Consultor] Consultoría en Internet
Está en: Juan Rodríguez [Consultor] > Consultoría en Internet > Artículos > Introducción a XML <

Artículos


No intente imprimir esta página.
No se puede...

Introducción a XML

XML es un lenguaje concebido para describir información. Su función principal es ayudarnos a organizar contenidos haciendo que los documentos XML sean portables entre diferentes tipos de aplicaciones.

En este artículo (que no tutorial) sólo se pretende una aproximación a qué es XML y sus características más destacables.

¿Qué es XML?
XML no es HTML
Limitaciones de HTML
Intercambio de datos por Internet
Nomenclatura de XML
Formato y validez de documentos XML
Definición de Tipo de Documento (DTD)
Esquemas XML (XML Scheme)
Vocabularios XML
Representación de documentos XML
Botones de color naranja XML
Referencias documentales de XML

Introducción a XML
¿Qué es XML?

XML es una especificación del W3C, que permite definir etiquetas y utilizarlas para describir y organizar datos. XML son las siglas de eXtensible Markup Language (Lenguaje de Marcación extensible) y al igual que HTML, XML se deriva de SGML (Standard Generalized Markup Language - Lenguaje de Marcación Estándar Generalizada).

Un sencillo ejemplo de documento XML sería:

<persona>
<nombre>Juan</nombre>
<apellidos>Rodríguez Begues</apellidos>
<empresa>Begues Internet s.l.</empresa>
<telefono>629 98 55 98</teléfono>
<web>www.begues.net</web>
</persona>

Un documento XML es, por lo tanto, el conjunto de etiquetas con los respectivos datos asociados a cada una de ellas. Los documentos XML puede incluir cualquier tipo de datos basado en texto, desde artículos de una publicación, a notas de prensa pasando por registros de una base de datos, o los recientes canales de noticias en formato RSS.

XML no es HTML

El hecho de que XML sea un estándar de W3C ha propiciado que en ocasiones se equipare XML con HTML considerando a aquel como una versión mejorada de éste. Pero no es así. XML y HTML poco, o nada, tienen que ver entre sí aunque sean complementarios.

HTML utiliza un conjunto de etiquetas predefinidas (<table>, <div>, <p>,...) con unas normas estándar de sintaxis para dar formato a la información que posteriormente será representada y visualizada mediante un navegador (Internet Explorer, Opera, Mozilla,...).

En XML las etiquetas pueden inventarse según nuestras necesidades y su objetivo no es informar sobre como deben mostrarse los datos, sino describirlos. Es más, un documento XML no está destinado para ser visualizado en un navegador, sino para ser procesado por cualquier aplicación que sea capaz de extraer sus datos y manipularlos.

XML es un sub-conjunto de SGML para la gestión de información y HTML es un subconjunto de XML y de SGML para la representación en navegadores de las páginas web. La unión de HTML y de XML conforma el XHTML o eXtensible, Hypertext Markup Language con el que, por cierto, están desarrolladas estas páginas de www.begues.net.

Limitaciones de HTML

Internet es algo más que mostrar y ver páginas web. Internet es gestionar, por parte del usuario, la información que visualiza y para ello HTML presenta una serie de inconvenientes a los que XML pretende dar respuesta satisfactoria.

Limitaciones de HTML:
* Es un estándar de presentación. Combina los datos con su visualización siendo difícil separar ambos cometidos.
* Ofrece un conjunto fijo de etiquetas. No se puede extender o ampliar con otras específicas para una determinada aplicación.
* No permite jerarquizar los datos, según su contenido o importancia.
* No permite una fácil transmisión de datos al cliente para un procesado adicional.
* Es generado continuamente por el servidor. Lo único que hace el navegador-cliente es mostrarlo en una pantalla.
* No es muy consistente. Hay etiquetas comienzan y terminan (<body> y </body>) mientras que otras comienzan pero no terminan (<p> o <br>).

Intercambio de datos por Internet

Una de las principales aplicaciones de XML es su utilización como lenguaje común para el intercambio de datos entre aplicaciones a través de Internet, con independencia de la plataforma, sistema operativo y lenguaje de programación en que se basan las aplicaciones que han de tratar los documentos XML.

La utilización de un lenguaje común es, sin duda, de gran utilidad en toda relación comercial entre empresas y clientes (e-commerce) por cuanto XML permite el intercambio de datos, dejando el formato visual a gusto del destinatario.

Este intercambio de datos a través de Internet se realiza vía HTTP utilizando el mecanismo solicitud-respuesta, de forma similar al utilizado para la visualización de páginas web.

Nomenclatura de XML

Al igual que en HTML, las etiquetas de inicio de XML se denotan por los signos "mayor que" y "menor que" (por ejemplo: <body>). Las etiquetas de final se escriben igual, si bien se les agregan un signo de quebrado después del signo "menor que" (</body>).

Un conjunto de etiquetas con su respectivo contenido, como
<nombre> Metales Ferrosos, s.a. </nombre>
se denomina elemento y lo que se encuentra entre las etiquetas de inicio y de final se denomina el contenido del elemento.

Un documento XML podría tener el siguiente aspecto:

<?xml version="1.0">

<mensaje xmlns="urn">
<cabecera>
<origen id="valor" path="direccion de origen" tipo="valor" />
<destino id="valor" path="direccion de destino" tipo="valor" />
</cabecera>

<cuerpo>
<pedido>
<n_pedido>P01234</n_pedido>
<fecha>01-02-2003</fecha>
<comprador id_comprador="CL-02345-X">
<nombre>Metales Ferrosos, s.a.</nombre>
<direccion>Paseo del Hierro, 99 El Ferrol</direccion>
</comprador>
<proveedor>
<nombre>Proveedora Férrica s.l.</nombre>
</proveedor>
</pedido>
</cuerpo>
</mensaje>
Formato y validez de documentos XML

Los documentos XML han de ajustarse a unas normas de formato y validez para que las aplicaciones que han de reconocerlos puedan hacerlo sin pérdida o errores en la interpretación de la información.

Un documento estará bien formado cuando cumple con la sintaxis de XML, y será válido si, además de estar bien formado, cumple con unas determinadas reglas y normas definidas mediante un Vocabulario. En la actualidad hay dos sistemas para especificar el formato de los documentos XML. Por un lado está DTD (Definición de Tipo de Documento), y por otro XML Scheme (Esquema XML).

La norma de formato más básica del XML es que todo elemento con una etiqueta de inicio, debe tener una etiqueta de final. Además, la etiqueta de final de un elemento interno, debe aparecer antes que la etiqueta de final del elemento que lo encierra.

Ejemplos.
No es correcto: <cliente><telefono></cliente></telefono>
Sí es correcto: <cliente><telefono></telefono></cliente>

Definición de Tipo de Documento (DTD)

Un DTD es un archivo que encierra una definición formal de un tipo de documento y, a la vez, especifica la estructura lógica de cada documento. Define tanto los elementos de una página como sus atributos. El DTD del XML es opcional. En aplicaciones simples no es imprescindible un DTD con lo que tendríamos un XML bien formado y si tiene DTD sería un documento validado.

El DTD forma parte de la norma XML 1.0 y es en la actualidad es el más usado. El inconveniente del DTD es que su sintaxis no es intuitiva. Otro defecto es que no permite especificar el tipo de los diversos elementos.

<!ELEMENT persona (nombre, apellidos, telefono*) >
<!ELEMENT nombre (#PCDATA) >
<!ELEMENT apellidos (#PCDATA) >
<!ELEMENT empresa (#PCDATA) >
<!ELEMENT telefono (#PCDATA) >
<!ELEMENT web (#PCDATA) >

Esquemas XML (XML Scheme)

Los Esquemas XML (auspiciado por Microsoft y por otras empresas de la industria XML) utilizan una sintaxis parecida a la del XML para describir los documentos. Además, el Esquema XML permite especificar los tipos de elemento que contiene el documento (a través de XML-Data). Por otro lado, es más fácil leer, entender y crear un Esquema XML que un DTD.

<schema name="esquema" xmlns="urn:schemas-microsoft-com:xml-data">
<ElementType name="persona" content="textOnly">
<ElementType name="nombre" content="textOnly"/>
<ElementType name="apellidos" content="textOnly"/>
<ElementType name="empresa" content="textOnly"/>
<ElementType name="telefono" content="textOnly"/>
<ElementType name="web" content="textOnly"/>
<element type="nombre" minOccurs="1" maxOccurs="1" />
<element type="apellidos" minOccurs="1" maxOccurs="2" />
</ElementType>
</schema>

Vocabularios XML

Existen una serie de vocabularios estandarizados de los que cabe destacar:

XHTML
Es el vocabulario definido por W3C consistente en HTML definido como XML dando lugar al XHTML. Se trata, por lo tanto, de los mismos elementos (etiquetas o tags) que en HTML pero con la sintaxis y normas de XML. Con este vocabulario se pretende crear un HTML realmente estándar con unas normas bien definidas, de modo que todos los navegadores que reconozcan XHTML procesen los documentos de la misma forma, y si una etiqueta está mal construida o no existe, el documento no será válido y todos los navegadores lo rechazarán.

WML
Vocabulario definido por el WAP Forum utilizado para dar formato a contenidos que serán distribuidos por Internet y reproducidos en dispositivos inalámbricos como, por ejemplo, teléfonos móviles, pda's,... compatibles con wap.

Los documentos WML son para los navegadores wap lo que los documentos HTML son para los navegadores tradicionales. El vocabulario WML está formado por un conjunto de elementos XHTML y, además, dispone de un modelo de eventos genérico.

Representación de documentos XML

XML es una especificación para describir y organizar datos, no para representarlos. Si se desea presentar los datos en un navegador web (Internet Explorer, Opera, Firefox,...) será preciso dotar al documento XML de formato visual para lo que existen dos estándares:

CSS (Cascading Style Sheet) u Hoja de Estilo en Cascada.
Documento mediante el cual se definen las propiedades de estilo para cada elemento (etiqueta o tag). El CSS es recomendado para mostrar documentos no muy complejos. Por ejemplo, se puede generar una tabla sencilla, con el nombre de las personas, su teléfono y en una fuente Helvética.

XSL (eXtensible Style Language) o Lenguaje de Estilo Extensible.
Permite transformar un documento XML en HTML, XHTML o WML, y así representarlo en un navegador web. Recomendado para casos más complejos en los que el usuario puede escoger los datos, su ordenación, etc. Por otro lado, XSL utiliza una sintaxis más parecida a la de XML que no CSS.

Botones de color naranja XML: [RSS]

Botones de color naranja como el situado encima de estas líneas. Los habrá visto en muchas páginas y detrás de ellos (si pulsa encima del botón) lo que hay son los conocidos Canales de Noticias (NewsFeeds) cuya instrumentación informática se hace sobre documentos XML y de ahí que así se conozcan.

Realmente esos canales utilizan el estándar XML para transmitir la información, pero el formato de su contenido (las etiquetas y elementos que los componen) se ajustan al estándar RSS o las especificaciones Atom. Sería, por lo tanto más correcto utilizar un botón con las letras RSS como el situado en la columna de la derecha.

Sea el botón que sea, la información de esos documentos es una aplicación práctica del estándar XML.

Referencias documentales de XML

Estándar XML 1.0 (en inglés)
Estándar XML 1.0 (en español)

Juan Rodríguez [Consultor]
Consultoría en Internet
--
Rev. 12.06

Consultoría en InternetIntroducción a XML

Juan Rodríguez [Consultor]

Cuidar de nuestro entorno natural,
puede y debe ser cosa de todos.

Por ejemplo, no gastando papel para
imprimir una información que siempre
puede tener en la pantalla de su pc.
- -

Consultoría en Internet

Juan Rodríguez [Consultor]
Barcelona, Begues, Castelldefels