Você está na página 1de 9

Extensible Markup Language

Extensible Markup Language


eXtensible Markup Language (XML)

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). 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.[3] 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 cumplen con la sintaxis. Estas pginas web dependen fuertemente de una forma especfica de lidiar con los errores y

Extensible Markup Language 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.[4] 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[5] (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.

Ventajas del XML


Es extensible: Despus de diseado y puesto en produccin, es posible extender XML con la adicin de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicacin alguna. El analizador es un componente estndar, no es necesario crear un analizador especfico para cada versin de lenguaje XML. Esto posibilita el empleo de cualquiera de los analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de aplicaciones. Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla. Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin que importe el origen de los datos, es decir, podramos tener una aplicacin en Linux con una base de datos Postgres y comunicarla con otra aplicacin en Windows y Base de Datos MS-SQL Server. Transformamos datos en informacin, pues se le aade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.

Estructura de un documento XML


La tecnologa XML busca dar solucin al problema de expresar informacin estructurada de la manera ms abstracta y reutilizable posible. Que la informacin sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un rbol de trozos de informacin. Ejemplos son un tema musical, que se compone de compases, que estn formados a su vez por notas. Estas partes se llaman elementos, y se las seala mediante etiquetas. 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

Extensible Markup Language 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)>

Extensible Markup Language

Documentos XML bien formados y control de errores


Los documentos denominados como bien formados (del ingls well formed) son aquellos que cumplen con todas las definiciones bsicas de formato y pueden, por lo tanto, analizarse correctamente por cualquier analizador sintctico (parser) que cumpla con la norma. Se separa esto del concepto de validez que se explica ms adelante. Los documentos han de seguir una estructura estrictamente jerrquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente incluida en otra, es decir, las etiquetas deben estar correctamente anidadas. Los elementos con contenido deben estar correctamente cerrados. Los documentos XML slo permiten un elemento raz del que todos los dems sean parte, es decir, solo pueden tener un elemento inicial. Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles. El XML es sensible a maysculas y minsculas. Existe un conjunto de caracteres llamados espacios en blanco (espacios, tabuladores, retornos de carro, saltos de lnea) que los procesadores XML tratan de forma diferente en el marcado XML. Es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen alguna caracterstica en comn. Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan marcas; son partes del documento que el procesador XML espera entender. El resto del documento entre marcas son los datos entendibles por las personas.

Partes de un documento XML


Un documento XML est formado por el prlogo y por el cuerpo del documento as como texto de etiquetas que contiene una gran variedad de efectos positivos o negativos en la referencia opcional a la que se refiere el documento, hay que tener mucho cuidado de esa parte de la gramtica lxica para que se componga de manera uniforme. Prlogo Aunque no es obligatorio, los documentos XML pueden empezar con unas lneas que describen la versin XML, el tipo de documento y otras cosas. El prlogo de un documento XML contiene: Una declaracin XML. Es la sentencia que declara al documento como un documento XML. Una declaracin de tipo de documento. Enlaza el documento con su DTD (definicin de tipo de documento), o el DTD puede estar incluido en la propia declaracin o ambas cosas al mismo tiempo. Uno o ms comentarios e instrucciones de procesamiento. EJEMPLO: <?xml version="1.0" encoding="UTF-8"?> Cuerpo A diferencia del prlogo, el cuerpo no es opcional en un documento XML, el cuerpo debe contener solo un elemento raz, caracterstica indispensable tambin para que el documento est bien formado. Sin embargo es necesaria la adquisicin de datos para su buen funcionamiento. EJEMPLO: <Edit_Mensaje> (...) </Edit_Mensaje>

Extensible Markup Language

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: &]] >

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.

Extensible Markup Language

Document Type Definition


La Document Type Definition o DTD (en espaol "definicin de tipo de documento") define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos. Los documentos XML que se ajustan a su DTD son denominados vlidos. Declaraciones tipo elemento Los elementos deben ajustarse a un tipo de documento declarado en una DTD para que el documento sea considerado como vlido. Modelos de contenido Un modelo de contenido es un patrn que establece los subelementos aceptados, y el orden en que se aceptan. Declaraciones de lista de atributos Los atributos se usan para aadir informacin adicional a los elementos de un documento. Tipos de atributos Atributos CDATA y NMTOKEN Atributos enumerados y notaciones Atributos ID e IDREF Declaracin de entidades XML hace referencia a objetos que no deben ser analizados sintcticamente segn las reglas XML, mediante el uso de entidades. Las entidades pueden ser: Internas o externas Analizadas o no analizadas Generales o parametrizadas Espacios de nombres Los espacios de nombres XML permiten separar semnticamente los elementos que forman un documento XML.

XML Schemas (XSD)


Un Schema es algo similar a un DTD. Define qu elementos puede contener un documento XML, cmo estn organizados y qu atributos y de qu tipo pueden tener sus elementos. Ventajas de los Schemas frente a los DTD Usan sintaxis de XML, al contrario que los DTD. Permiten especificar los tipos de datos. Son extensibles.

Extensible Markup Language

Herramientas para trabajar con documentos XML


De hecho cualquier procesador de texto, que sea capaz de producir archivos .txt es capaz de generar XML, aunque en los entornos de desarrollo como Eclipse o Visual Studio, se facilita, ya que reconoce los formatos y ayuda a generar un XML bien formado.

Lenguajes creados usando XML


Extensible Stylesheet Language (XSL)
El Lenguaje de Hoja de Estilo Extensible (eXtensible Stylesheet Language, XSL) es una familia de lenguajes que permiten describir como los archivos codificados en xml sern formateados (para mostrarlos) o transformados. Hay tres lenguajes en esta familia: XSL Transformations (XSLT), XSL Formatting Objects (XSL-FO)y XML Path Language.

Lenguaje de enlace XML (XLINK)


XLink es una aplicacin XML que intenta superar las limitaciones que tienen los enlaces de hipertexto en HTML. XLink 1.1 es ya una recomendacin W3C.

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.

Extensible Markup Language

Referencias
[1] [2] [3] [4] [5] http:/ / www. w3. org/ TR/ 2006/ REC-xml-20060816/ http:/ / www. w3. org/ TR/ 2006/ REC-xml11-20060816/ Qu es XML y para qu sirve (http:/ / www. ri5. com. ar/ ayuda07. php). RI5. Consultado el 2 de noviembre de 2012. 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.

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Extensible Markup Language Fuente: http://es.wikipedia.org/w/index.php?oldid=62994384 Contribuyentes: 32.Red-80-32-254.pooles.rima-tde.net, Acaso, Airunp, AlbertoDV, Aldm, Aleator, Alexav8, Alexia.perez.fernandez, Alma mter, Amglez, Antonorsi, Aofvilla, Ayleen, Aipni-Lovrij, Barcex, Barteik, Biasoli, Bibliofilotranstornado, Brion VIBBER, Ca in, Cacique500, Camilo, Cangaru, Carlos.cuevas, Cobalttempest, Comae, Criem, Cucaracha, Cw88, Dark Bane, David0811, Developer, Dhcp, Diamondland, Dodo, Drever, Dusan, Ecemaml, El fersi, Eloi.sanmartin, Elwikipedista, Enrique Garcilazo, Er Komandante, FAR, Faelomx, FedericoMP, Ferio, GermanX, Gnovaro, GuilleSerrano23, HUB, Hispa, Humberto, Igna, Ignacio Icke, IrwinSantos, Isha, Ivanics, J. A. Glvez, Jaflores, Jandresaedo, Javierav, Jesuja, Jkbw, JoaquinFerrero, JorgeGG, JosebaAbaitua, Josemiguel93, Josergc, Juandiegocano, Jugones55, Jvlivs, Kalcetin, Kaprak, Ketamino, KiBo, Kurnosem, Lainmlh, LastCyborg, Laura Fiorucci, Linfocito B, Locos epraix, LuisFo, Magister Mathematicae, Makike, Maldoror, Manw, Matdrodes, MauricioAedo, Mikel Gmez, Mitm, MontseVeroULE, Moriel, Mouse, Mpeinadopa, Muro de Aguas, Niqueco, Noradrex, OMenda, Ocastillo77, OmegaZeroJR, Pasmargo, Pilaf, Platonides, Plux, Qu3tzalc0atl5, Resped, Rhus, Roberto Fiadone, Robespierre, Rrmsjp, Rge, SUL, Sabbut, Secal, Serlumo, Shooke, Sintaxpedia, Spirit-Black-Wikipedista, Superzerocool, Technopat, Tirithel, Tomatejc, Tony Rotondas, Tostadora, Triku, Truor, Txo, Vapretchile, Xml, Yrithinnd, Zesar88, Zuzel, conversion script, 531 ediciones annimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:XML.svg Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:XML.svg Licencia: Creative Commons Attribution-Sharealike 2.5 Contribuyentes: en:User:Dreftymac

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

Você também pode gostar