Está en la página 1de 8

Procesos de documentos XML XML, siglas en ingls de eXtensible Markup Language ('lenguaje de marcas extensible'), es un metalenguaje extensible de etiquetas

desarrollado por el World Wide Web Consortium (W3C). Es una simplificacin y adaptacin del SGML y permite definir la gramtica de lenguajes especficos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades[cita requerida]. Algunos de estos lenguajes que usan XML para su definicin son XHTML, SVG, MathML. XML no ha nacido slo para su aplicacin en 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. 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 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 Mensaje (Remitente, Destinatario, Texto)*> <!ELEMENT Remitente (Nombre, Mail)> <!ELEMENT Nombre (#PCDATA)> <!ELEMENT Mail (#PCDATA)> <!ELEMENT Destinatario (Nombre, Mail)> <!ELEMENT Nombre (#PCDATA)> <!ELEMENT Mail (#PCDATA)> <!ELEMENT Texto (Asunto, Parrafo)> <!ELEMENT Asunto (#PCDATA)> <!ELEMENT Parrafo (#PCDATA)>

Documentos XML bien formados 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. Cuerpo A diferencia del prlogo, el cuerpo no es opcional en un documento XML, el cuerpo debe contener un y 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.

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 Artculo principal: Anexo:Etiquetas HTML/XHTML 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. 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. 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. Procesadores XML y Procesadores Disponibles Los procesadores XML son programas de software que se utilizan para analizar documentos XML y proporcionar acceso al contenido y a la estructura del documento. Los procesadores XML tambin pueden validar la estructura de los documentos XML y transformarlos en distintos formatos. Los documentos XML son archivos de texto que contienen datos con el formato de una serie de elementos y atributos. Los elementos que se encuentran dentro de un documento XML se pueden considerar tambin como nodos del documento. El elemento raz del documento es el nodo de raz y todos los dems elementos son nodos secundarios (o descendientes) del nodo raz. Los atributos son datos adicionales asociados a un elemento y se consideran propiedades del elemento. Cuando un procesador XML carga por primera vez un documento XML, analiza los nodos del documento y los coloca en la memoria de acceso aleatorio (RAM) con la forma de un Modelo de objetos de documento (DOM). Despus de analizar el documento XML y cargarlo en el DOM, puede utilizar las interfaces de programacin del DOM para tener acceso y manipular el documento XML que contenido en el mismo. Si se asocia una Transformacin XSL (XSLT) con un documento XML, el procesador XML se puede utilizar para aplicar la transformacin XSLT al documento con el fin de producir el formato de salida deseado. Procesadores disponibles LT XML MSXML TclXML XML::LibXML

Componentes de un documento XML Comentarios Los comentarios en los documentos XML empiezan por <!-- y acaban por -->. Pueden contener cualquier cadena de texto excepto el literal --. Pueden colocarse en cualquier parte del documento. Ej: <!-- Esto es comentario <-d#dd --> Secciones CData Le indican al parser que ignore todos los caracteres de marcas que se encuentren en el interior de esta/s seccin/es. Son muy tiles cuando queremos (x ej. a modo de tutorial) visualizar cdigo XML como parte del texto. Todos los caracteres que existan entre son pasados directamente a la aplicacin sin interpretacin. El nico literal q no puede ser utilizado dentro de la seccin es, lgicamente, el ]]>. Ej. <![CDATA[ <!ENTITY <CODIGO> *p=&q->campo; a=(x<y)?33:44; </CODIGO> ]]> amp "&"> <!-&= ampersand -->

Elementos Son las etiquetas ms frecuentemente utilizadas dentro de un documento XML. Estn delimitadas por los smbolos < y >, sintaxis de todos conocida, puesto q era la usada en HTML. Si el contenido de la etiqueta es vaco (al igual q <BR> <IMG> en HTML), entonces se delimitan por los smbolos < y />. Las etiquetas de apertura (las que empiezan por >) pueden incluir atributos, los cuales son pares nombre/valor al estilo color="verde". (x ej, en HTML <font color="green">). OJO!! En XML los atributos siempre deben ir encerrados entre comillas dobles. Ejs: <nombre id="surname">Perez</nombre> <vacia color="verde"/>

Referencias a entidades Las entidades(entity) se usan en XML bsicamente como representacin alternativa de los caracteres especiales (como por ejemplo las comillas dobles la marca de apertura en un elemento), aunque tambin pueden emplearse para incluir el contenido de otros documentos para hacer referencia a trozos de texto repetitivos. Sintaxis: &xxx; a la entidad. donde xxx es el nombre de la entidad, y , &xxx; es la manera de referirse

Ej: &eacute; ----> Representa al smbolo Existe una referencia a entidades "especial", denominada referencia a caracteres. sta se usa para representar caracteres que no pueden ser escritos desde el teclado. No tienen un nombre de cadena (como eacute x ej) sino q su nombre es, un n decimal, un n hexadecimal. Ej: &#38; <!-- Ampersand --> Tambien se pueden crear constantes ( macros) para que no nos tengamos q acordar de los numeross. Para ello usamos la definicin "real" de entidad: Ej: <!ENTITY amp "&#38;"&gt; Para referenciarlo: &amp;