XML para todos - um.es · PDF filedad de crear un nuevo lenguaje para la WWW : XML Objetivos...

download XML para todos - um.es · PDF filedad de crear un nuevo lenguaje para la WWW : XML Objetivos de XML En 1996, el Consorcio Web (W3C) empieza a trabajar en el diseño de un lenguaje

If you can't read please download the document

Transcript of XML para todos - um.es · PDF filedad de crear un nuevo lenguaje para la WWW : XML Objetivos...

  • XML para todosIgnacio Barrancos Martnez

    Tabla de contenidosIntroduccin ..................................................................................................................................1

    Objetivos de XML .................................................................................................................3Separacin: semntica - representacin ....................................................................................... 4

    El lenguaje XML 1.0 ...................................................................................................................... 5XML-data y sintaxis del marcado .............................................................................................. 6Validacin de XML ................................................................................................................11Implementaciones de parsers XML ............................................................................................ 12Y ... por qu debera usar XML ? ............................................................................................ 12

    Validacin de XML ........................................................................................................................14DTDs...................................................................................................................................14XML-Schema........................................................................................................................18Por qu debemos usar DTDs o XML-Schemas ............................................................................. 18HTML vlido = XHTML ......................................................................................................... 19

    Herramientas para trabajar con XML ................................................................................................. 20Herramientas para GNU/Linux .................................................................................................20Herramientas para Microsoft(TM) Windows(TM) ........................................................................ 21

    Presentacin de XML .....................................................................................................................21CSS: Cascading Style Sheets .................................................................................................... 22XSLBsico ..........................................................................................................................23

    Motores XSLT y Aplicaciones prcticas. ............................................................................................ 25Aplicacionesprcticas .............................................................................................................25

    Resumen

    Copyright (C) 2003, Ignacio Barrancos Martnez . Se garantiza el permiso para copiar, distribuir y/o modificar este docu-mento bajo los trminos de la Licencia de Documentacin Libre GNU, versin 1.1 (GNU Free Documentation Li-cense, Versin 1.1) o cualquier otra versin posterior publicada por la Free Software Foundation; este documento sepresenta sin Secciones Invariables (no Invariant Sections), sin Textos de Tapa (no Front-Cover Texts) y sin Textosde Contratapa (no Back-Cover Texts). GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html

    El presente documento pretende acercar XML al programador, al administrador, al usuario avanzado, al alumno deuna Facultad, a un escritor, a un futuro ingeniero, a las amas de casa... en fn... a todos. XML se presentar como unaherramienta con la que podr realizar su trabajo diario de una forma ms fcil y cmoda, con la garanta de quesiempre podr reutilizar el esfuerzo inicial en el futuro.

    Para lograr esto, se descubrirn los principios tericos sobre los que se fundamenta la tecnologa XML, a fn de si-tuar al lector en el conjunto de trminos y herramientas que actualmente se usan en cualquier plataforma inform-tica, ya sea de desarrollo o de consumo final, para que sea l, quien decida cun til es la tecnologa y cmo puedeservirse de ella. Por tanto, un estudio ms en profundidad quedar fuera del mbito de este documento.

    IntroduccinComo se sabe, XML es el acrnimo de eXtensible Markup Language, o lo qu es lo mismo: Lenguaje Extensible deMarcado... pero ... qu es un lenguaje de marcado?:

    1

    url(mailto:[email protected])url(http://www.gnu.org/copyleft/fdl.html)

  • Por lenguaje interpretaremos el conjunto de reglas que definen una sintaxis y una gramtica, mientras que,

    marcado lo podemos entender como un mtodo para escribir o incrustar metadatos.

    Esto introduce otro trmino nuevo:

    Metadato : Es la informacin que podemos aportar sobre otro conjunto de datos.

    Si reunimos todas las piezas, podemos hacernos una idea de lo que es XML: XML es un conjunto de reglas que des-criben cmo podemos escribir metainformacin en un texto. Para entenderlo un poco mejor, observaremos el si-guiente texto:

    Juan AntonioDelos PalotesCuatro esquinas30190

    El texto anterior es poco explcito para nosotros: 4 lneas que pueden significar cualquier cosa: Un nombre de per-sona, de empresa, un nmero de lotera, un fragmento de una conversacin, etc... y pueden significar cualquier cosapara nostros, dependiendo de la interpretacin que queramos darle. Ahora, en cambio observaremos el siguientetexto.

    Juan AntonioDelos PalotesCuatro esquinas30190

    El texto anterior ya empieza a tomar sentido para nostros, y podemos deducir que se trata de los datos personales deun alumno. Si piensa que siempre estuvo claro el significado de las cuatro lneas, observe el siguiente ejemplo:

    Juan AntonioDelos PalotesCuatro esquinas30190

    El mismo texto incial adquiere de nuevo sentido y no deja pensar en que se trate de los datos personales de unalumno : Ahora el mismo texto son palabras claves de una misin para 007. Qu es lo que ha cambiado para quecambiemos nuestra interpretacin? ... a poco que nos fijemos, caeremos en la cuenta que lo que han cambiado sonlas marcas o tags y como acabamos de decir, las marcas son Metadatos, informacin que habla sobre el significadode otro conjunto de datos: Al cambiar la metainformacin del texto, cambi por completo su interpretacin. Si vol-vemos a leer la definicin de XML, la entenderemos un poco mejor.

    Una vez que tenemos una ligera idea de lo que significa XML, podemos empezar a descubrir los orgenes de XML,porque esta idea de introducir marcas en un texto nos es nueva, y la encontramos en el lenguaje en el que se constru-yen las pginas que forman la WWW: HTML. XML es un lenguaje relativamente moderno ( Febrero de 1998 ), y aligual que su homlogo HTML, est basado un lenguaje maduro de marcado llamado SGML: Standard GeneralizedMarkup Languaje.

    En 1969, tres seores de IBM Research inventaron el primer lenguaje moderno de marcado: GML (GeneralizedMarkup Languaje) . Este, describa cmo acotar mediante marcas la estructura arbitraria de un conjunto de datos, ylleg a convertirse en un metalenguaje: Un lenguaje que puede ser usado para describir otros lenguajes, sus gramti-cas y sus vocabularios. GML se convirti en SGML, y en 1986 fue adoptado por la ISO como un estndard interna-cional de almacenamiento e intercambio de datos. Cuando a principios de los 90, se desarrolla HTML este se con-cibe como aplicacin directa de SGML. El impacto que supuso la World Wide Web para el comercio y las comuni-caciones , la complejidad de SGML y la carencia de metadatos en el marcado de HTML, desembocan en la necesi-

    XML para todos

    2

  • dad de crear un nuevo lenguaje para la WWW : XML

    Objetivos de XML

    En 1996, el Consorcio Web (W3C) empieza a trabajar en el diseo de un lenguaje extensible de marcado que combi-nara la flexibilidad de SGML y la aceptacin de HTML. En Febrero de 1998, XML version 1.0 v la luz. Los objeti-vos del W3C en el diseo de XML los podemos resumir en :

    1. Extensible : Dejar abierta la posibilidad de definir nuevos tags en nuestros documentos, al igual que sucede enSGML, y no limitar el conjunto de marcas que podemos usar, como sucede en HTML.

    2. Internacionalizacin: El texto de un documento XML deba poder escribirse en diferentes alfabetos y sistemasde escritura (no slo en lenguajes Europeos) tal y cmo se define en el estndard Unicode 3.0 .

    3. Compatible con SGML: XML tiene su punto de partida en SGML, y de l nace como un subconjunto simplifi-cado del mismo. Ello nos permite usar las herramientas y trabajos desarrollado para SGML, al tiempo que desa-rrollar nuevas herramientas para XML, sea mucho ms sencillo que hacerlo para SGML.

    4. XML debe poder usarse en Internet : El hecho de que XML se fundamente en texto ASCII plano, permite usarel hardware de comunicacin ms simple y rudimentario, como una transmisin serie, y por tanto, podamosusarlo a travs de cualquier protocolo moderno como HTTP, HTTPS, FTP, etc ... Tambin puede ser usadocomo formato de almacenamiento universal e intercambio de informacin, con o sin Internet, como siemprehan sido los ficheros de texto planos.

    5. Separar la Informacin de su presentacin: Esta meta u objetivo es, a mi juicio, el ms difci de entender y me-rece la pena detenerse sobre l y verlo por separado en la siguiente seccin.

    La publicacin de la primera versin de XML, que cubra completamente todos los objetivos marcados en su diseo,recibi una gran acogida y aceptacin en el seno de la comunidad cientfica internacional y en la industria inform-tica, y rpidamente se pusieron a trabajar en aplicaciones prcticas basadas en XML . As, empezaron a surgir ...

    Vocabularios XML: Descripciones de datos XML que son usuados como medio de intercambio de informacin, den-tro de un dominio de conceptos especfico, como pueden ser la qumica, las matemticas, legislaci