Академический Документы
Профессиональный Документы
Культура Документы
Desarrollador World Wide Web Consortium Informacin general Extensin de archivo .xml Tipo de MIME Tipo de formato Estndar(es) application/xml, text/xml Lenguaje de marcado [1] 1.0 (Fourth Edition) [2] 1.1 (Second Edition) ?
Formato abierto
XML, siglas en ingls de eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Deriva del lenguaje SGML y permite definir la gramtica de lenguajes especficos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo til cuando varias aplicaciones se deben comunicar entre s o integrar informacin. (Bases de datos Silberschatz). XML no ha nacido slo para su aplicacin para Internet, sino que se propone como un estndar para el intercambio de informacin estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de clculo y casi cualquier cosa imaginable. XML es una tecnologa sencilla que tiene a su alrededor otras que la complementan y la hacen mucho ms grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la informacin de una manera segura, fiable y fcil.
Historia
XML proviene de un lenguaje inventado por IBM en los aos setenta, llamado GML (Generalized Markup Language), que surgi por la necesidad que tena la empresa de almacenar grandes cantidades de informacin. Este lenguaje gust a la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML (Standard Generalized Markup Language), capaz de adaptarse a un gran abanico de problemas. A partir de l se han creado otros sistemas para almacenar informacin. En el ao 1989 Tim Berners Lee cre la web, y junto con ella el lenguaje HTML. Este lenguaje se defini en el marco de SGML y fue de lejos la aplicacin ms conocida de este estndar. Los navegadores web sin embargo siempre han puesto pocas exigencias al cdigo HTML que interpretan y as las pginas web son caticas y no
Extensible Markup Language cumplen con la sintaxis. Estas pginas web dependen fuertemente de una forma especfica de lidiar con los errores y las ambigedades, lo que hace a las pginas ms frgiles y a los navegadores ms complejos. Otra limitacin del HTML es que cada documento pertenece a un vocabulario fijo, establecido por el DTD. No se pueden combinar elementos de diferentes vocabularios. Asimismo es imposible para un intrprete (por ejemplo un navegador) analizar el documento sin tener conocimiento de su gramtica (del DTD). Por ejemplo, el navegador sabe que antes de una etiqueta <div> debe haberse cerrado cualquier <p> previamente abierto. Los navegadores resolvieron esto incluyendo lgica ad hoc para el HTML, en vez de incluir un analizador genrico. Ambas opciones, de todos modos, son muy complejas para los navegadores. Se busc entonces definir un subconjunto del SGML que permita: Mezclar elementos de diferentes lenguajes. Es decir que los lenguajes sean extensibles. La creacin de analizadores simples, sin ninguna lgica especial para cada lenguaje. Empezar de cero y hacer hincapi en que no se acepte nunca un documento con errores de sintaxis. Para hacer esto XML deja de lado muchas caractersticas de SGML que estaban pensadas para facilitar la escritura manual de documentos. XML en cambio est orientado a hacer las cosas ms sencillas para los programas automticos que necesiten interpretar el documento.
Crticas
XML y sus extensiones han sido regularmente criticadas por su nivel de detalle y complejidad.[3] El mapeo del modelo de rbol bsico de XML hacia los sistema de tipos de lenguajes de programacin o bases de datos puede ser difcil, especialmente cuando se utiliza XML para el intercambio de datos altamente estructurados entre aplicaciones, lo que no era su objetivo primario de diseo. Otras crticas intentan refutar la afirmacin de que XML es un lenguaje autodescriptivo[4] (aunque la especificacin XML no hace ninguna afirmacin de este tipo). Se propone a JSON y YAML frecuentemente como alternativas, centrndose ambas en la representacin de datos estructurados, en lugar de documentos narrativos.
Extensible Markup Language Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de ste como un elemento. Un pedazo de informacin con un sentido claro y definido. Las etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se est sealando. A continuacin se muestra un ejemplo para entender la estructura de un documento XML: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd"> <Edit_Mensaje> <Mensaje> <Remitente> <Nombre>Nombre del remitente</Nombre> <Mail> Correo del remitente </Mail> </Remitente> <Destinatario> <Nombre>Nombre del destinatario</Nombre> <Mail>Correo del destinatario</Mail> </Destinatario> <Texto> <Asunto> Este es mi documento con una estructura muy sencilla no contiene atributos ni entidades... </Asunto> <Parrafo> Este es mi documento con una estructura muy sencilla no contiene atributos ni entidades... </Parrafo> </Texto> </Mensaje> </Edit_Mensaje> Aqu est el ejemplo de cdigo del DTD del documento Edit_Mensaje.dtd: <?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Este es el DTD de Edit_Mensaje --> <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT Mensaje (Remitente, Destinatario, Texto)*> Remitente (Nombre, Mail)> Nombre (#PCDATA)> Mail (#PCDATA)> Destinatario (Nombre, Mail)> Nombre (#PCDATA)> Mail (#PCDATA)> Texto (Asunto, Parrafo)> Asunto (#PCDATA)> Parrafo (#PCDATA)>
Elementos
Los elementos XML pueden tener contenido (ms elementos, caracteres o ambos), o bien ser elementos vacos.
Atributos
Los elementos pueden tener atributos, que son una manera de incorporar caractersticas o propiedades a los elementos de un documento. Deben ir entre comillas. Por ejemplo, un elemento estudiante puede tener un atributo Mario y un atributo tipo, con valores come croquetas y taleno respectivamente. <Estudiante Mario="come croquetas" tipo="taleno">Esto es un da que Mario va paseando</Estudiante>
Entidades predefinidas
Entidades para representar caracteres especiales para que, de esta forma, no sean interpretados como marcado en el procesador XML. Ejemplo: entidad predefinida: & carcter: &.
Secciones CDATA
Es una construccin en XML para especificar datos utilizando cualquier carcter sin que se interprete como marcado XML. No confundir con 2(#PCDATA) que es para los elementos. Permite que caracteres especiales no rompan la estructura. Ejemplo: <![CDATA[contenido especial: \n &]]>
Comentarios
Comentarios a modo informativo para el programador que han de ser ignorados por el procesador. Los comentarios en XML tienen el siguiente formato: <!--- Esto es un comentario ---> <!-- Otro comentario -->
Validez
Que un documento est bien formado solamente se refiere a su estructura sintctica bsica, es decir, que se componga de elementos, atributos y comentarios como XML especifica que se escriban. Ahora bien, cada aplicacin de XML, es decir, cada lenguaje definido con esta tecnologa, necesitar especificar cul es exactamente la relacin que debe verificarse entre los distintos elementos presentes en el documento. Esta relacin entre elementos se especifica en un documento externo o definicin (expresada como DTD Document Type Definition, 'Definicin de Tipo de Documento' o como XSchema). Crear una definicin equivale a crear un nuevo lenguaje de marcado, para una aplicacin especfica.
Otras tecnologas
Hojas de estilo XSL-FO XSLT XLink XPointer XSL hojas de estilo en cascada (CSS) XLT (XML representation of Lexicons and Terminologies) Programacin JDOM SAX StAX VTD-XML Consulta de datos XQuery Xpath Seguridad Xades (XML Advanced Electronic Signatures) Hay quien opina que XML es demasiado pesado para algunas aplicaciones y difcil de editar con un editor de texto simple. Por ello merece la pena mencionar algunas alternativas ms ligeras y simples. Los lenguajes de marcas ligeros: Simple Outline XML: es un XML simplificado que se puede convertir sin problemas en XML completo. YAML y OGDL. Estos dos son ficheros de solo texto que no estn emparentados con XML como el SOX, antes comentado. BBCode. ste tiene un uso muy restringido para dar formato nada ms. Tambin hay por lo menos un lenguaje basado en XML en formato binario, llamado EBML.
Referencias
[1] [2] [3] [4] http:/ / www. w3. org/ TR/ 2006/ REC-xml-20060816/ http:/ / www. w3. org/ TR/ 2006/ REC-xml11-20060816/ Jeff Atwood (2009): XML: The Angle Bracket Tax (http:/ / www. codinghorror. com/ blog/ 2008/ 05/ xml-the-angle-bracket-tax. html) Eric Brown (2003): Eric Brown (2003): The Myth of Self-Describing XM The Myth of Self-Describing XML (http:/ / workflow. healthbase. info/ monographs/ XML_myths_Browne. pdf)
Enlaces externos
Conjunto de informacin XML (segunda edicin) (http://www.spanish-translator-services.com/espanol/t/ infoset.htm). Traduccin de la recomendacin del W3C sobre conjunto de informacin XML (segunda edicin). Espacios de nombres en XML 1.1 (http://www.spanish-translator-services.com/espanol/t/ Namespaces_in_XML_1.1_SP.htm). Traduccin de la recomendacin del W3C sobre los espacios de nombres en XML 1.1. Enlaces de la Especificacin de Gestin de Claves XML (XKMS 2.0) (http://www.spanish-translator-services. com/espanol/t/XML_Key_Management_Specification_XKMS_2.0_Bindings_SP.htm). Traduccin de la recomendacin del W3C sobre enlaces de protocolo con caractersticas de seguridad para la Especificacin de Gestin de Claves XML (XKMS). Inclusiones XML (http://www.spanish-translator-services.com/espanol/t/XInclude.htm). Traduccin de XML Inclusions (XInclude) Version 1.0. xml:id Versin 1.0 (http://www.spanish-translator-services.com/espanol/t/xmlid.htm). Traduccin de la recomendacin del W3C sobre xml:id 1.0. Pgina web oficial de W3C sobre XML (http://www.w3.org/XML/) (en ingls). XML Schema (http://www.milkzoft.com/blog/xml-schema/#top) (en espaol). Introduccin a XML (http://sherekan.com.ar/blog/2008/05/16/introduccion-a-xml/) (en espaol). Introduccin al XML (http://www.reloco.com.ar/xml.html) introduccin conceptual al XML. programacin.com (http://www.programacion.com/direcciones/xml/) cursos, tutoriales, trucos, etc. El estndar XML (http://www.w3.org/TR/REC-xml/) (en ingls). The Extensible Stylesheet Language Family (XSL) (http://www.w3.org/Style/XSL/) (en ingls). XML.org (http://www.xml.org) (en ingls). XML Software Guide (http://wdvl.internet.com/Software/XML/) (en ingls). Pgina web sobre XML de Microsoft (http://msdn.microsoft.com/xml/) (en ingls). XML Document Authoring Tools (http://www.xml-dev.com/xml/editors.html) (en ingls). XML (http://search.cpan.org/search?query=XML&mode=all) mdulos Perl en CPAN (en ingls). XML.Awardspace (http://xml.awardspace.com/index.html) introduccin bsica al XML. SoaAgenda (http://soaagenda.com/journal/articulos/document-a-string/) ejemplo de traspaso XML a DOM. XML: Introduccin (http://aplicacionesua.cpd.ua.es/album/educacion.asp?idfoto=23705&menuora=5), video introductorio a XML. XML: Ejemplos de uso (http://aplicacionesua.cpd.ua.es/album/educacion.asp?idfoto=23707&menuora=5), vdeo que explica diferentes ejemplos de uso de XML, como CML, MathML o SVG. XML: HTML y XHTML (http://aplicacionesua.cpd.ua.es/album/educacion.asp?idfoto=23708&menuora=5), vdeo que explica las diferencias entre XML, HTML y XHTML.
Licencia
Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/