XML

XMLproviene de un lenguaje inventado por IBMen los años setenta, llamado GML(General Markup Language), que surgió por la necesidad que tenía la empresa de almacenar grandes cantidades de información. Este lenguaje gustó a la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML(Standard General Markup Language), capaz de adaptarse a un gran abanico de problemas. A partir de él se han creado otros sistemas para almacenar información.

En el año 1989 se creó el lenguaje HTML que fue utilizado para la WWW. HTML ha ido creciendo de una manera descontrolada, no cumpliendo todos los requisitos que pedía la sociedad global de Internet, a pesar de los esfuerzos del W3C de poner orden y establecer reglas y etiquetas para su estandarización. Esta entidad empezó en 1998 el desarrollo de XML, en el que aún continúa. Este lenguaje es utilizado por muchos otros lenguajes de programacion.

El XML se creó para que cumpliera varios objetivos:

  • Que fuera idéntico a la hora de servir, recibir, y procesar la información del HTML para aprovechar toda la tecnología implantada de este.
  • Que fuera normal y conciso desde el punto de vista de los datos y la manera de guardarlos.
  • Que fuera extensible, para que lo puedan utilizar en todos los campos del conocimiento.
  • Que fuese fácil de leer y editar e implementar.
  • Que fuese fácil de implantar, programar y aplicar a los distintos sistemas.

Ventajas de usarlo

  • Comunicación de datos. Si la información se transfiere en XML cualquier aplicación podría escribir un documento de texto plano con los datos que estaba manejando en formato XML y otra aplicación recibir esta información y trabajar con ella.
  • Migración de datos. Si trabajamos en formato XML sería muy sencillo mover datos de una base de datos a otra.
  • Aplicaciones Web. Con XML hay una sola aplicación que maneja los datos y para cada navegador podemos tener una hoja de estilo o similar para aplicarle el estilo adecuado..

Estructura

A primera vista, un documento XML es similar a los documentos HTML, pero realmente no son iguales, hay una diferencia principal: un documento XML contiene datos que se autodefinen exclusivamente, mientras que un documento HTML contiene datos mal definidos, mezclados con elementos de formato. En XML se separa el contenido de la presentación de forma total.

Al igual que el HTML, se basa en documentos de texto planoen los que se utilizan etiquetaspara delimitar los elementosde un documento. Sin embargo, XML define estas etiquetas en función del tipo de datos que está describiendo y no de la apariencia final que tendrán en pantalla o en la copia impresa; además de permitir definir nuevas etiquetas y que tienen los enlaces de hipertexto en HTML. Es una especificación que todavía está en desarrollo.

Documentos XML bien formados

Se llama documentos «bien formados» (del inglés well formed) a los documentos que cumplen con todas las definiciones básicas de formato y pueden, por lo tanto, ser analizados correctamente por cualquier «parser» que cumpla con la norma. Se separa esto del concepto de validez, que implica que no sólo el documento es bien formado sino que también su estructura se corresponde con la definida en un documento externo (expresada como DTD o como XSchema).

  • Los documentos han de seguir una estructura estrictamente jerárquica 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.
  • XML permite elementos sin contenido pero la etiqueta debe ser: <elemento_sin_contenido />
  • Los documentos XML sólo permiten un elemento raíz del que todos los demás sean parte, es decir, sólo puede tener un elemento inicial.
  • Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles.
  • El XML es sensible a mayúsculas y minúsculas. Existe un conjunto de caracteres llamados espacios en blanco (espacios, tabuladores, retornos de carro, saltos de línea) 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 característica en común.
  • 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.

Prólogo

Aunque no es obligatorio, los documentos XML pueden empezar con unas líneas que describen la versión XML, el tipo de documento y otras cosas.

El prólogo contiene:

  • una declaración XML. Es la sentencia que declara al documento como un documento XML.
  • una declaración de tipo de documento. Enlaza el documento con su DTD, o el DTD puede estar incluido
  • en la propia declaración o ambas cosas al mismo tiempo.
  • uno o más comentarios e instrucciones de procesamiento.
  • Elementos

    Los elementos XML pueden tener contenido (más elementos, caracteres o ambos), o bien ser elementos vacíos.

    Atributos

    Los elementos pueden tener atributos, que son una manera de incorporar características o propiedades a los elementos de un documento.

    Entidades predefinidas

    Entidades para representar caracteres especiales para que no sean interpretados como marcado en el procesador XML.

    Secciones CDATA

    Es una construcción en XML para especificar datos utilizando cualquier carácter sin que se interprete como marcado XML

    Web 2.0

    Web 2.0: ¿Ser o no ser?

    Siendo éste un evento sobre Web 2.0 (aunque incluímos otros ‘buzzwords’), la pregunta lógica es ¿qué es? En Merodeando, Julio Alsonso indaga la definición de Web 2.0: Para Jeff Clavier los elementos principales son la apertura de servicios y contenidos; las experiencias de usuario enriquecidas y el bajo coste de entrega. Para Tim O’Reilly, los puntos clave son la actualización continúa; la remezcla de información de distintos orígenes; y la participación de los usuarios. En dospuntocero enlazan a una entrada de svn (un blog de los creadores de Ruby on Rails) donde incluso se discute qué no es Web 2.0: ni Ajax, ni RSS, ni capital de riesgo; ni betas públicas; ni formatos propietarios, etc. ¿Hay algo más allá de las palabras de moda?

    Hay tres ensayos que quisiera destacar. El primero es de Tim O’Reilly, en preparación del congreso Web 2.0, ¿Qué es Web 2.0: Patrones de diseño y modelos de negocio para la nueva generación de software. El segundo, de Barb Dyward (The Social Software Weblog), titulado Una aproximación a la definición de Web 2.0. Y el tercero, en español, lo encontré a través de Tripix. Está firmado por José Luis de Vicente y se titula Inteligencia colectiva en la Web 2.0: por qué 2005 puede ser tan importante para la Red como 1995:

    «El digital lifestyle promovido por Apple y las revoluciones autoorganizadas de la Blogosfera y el Peer to Peer han convencido a la industria de que a la gente le encanta crear y compartir contenido, y está dispuesta a hacer la mayor parte del trabajo (generarlo, distribuirlo y clasificarlo) si se le dan las herramientas adecuadas para ello. La ética del remix y lo derivativo, aupadas por el rápido despegue y el amplio apoyo de iniciativas como las licencias Creative Commons, se encontraría con una arquitectura hasta cierto punto abierta que me permite combinar y reelaborar mis datos con los de otros usuarios en vistosos interfaces flexibles y dinámicos, configurables a mi gusto por cortesía de los grandes servicios online. De todas las encarnaciones de Internet, el modelo de la Web 2.0 es el que más se acerca a implementar de manera efectiva la visión de Internet como un sistema nervioso compartido, como una inteligencia global distribuida, donde una estructura de significado emerge de los procesos colaborativos desarrollados por todos sus usuarios. Incluso cuando estos procesos son tan banales como etiquetar millones de fotografías y asignarles palabras claves».

    José Luis, por cierto, hace una llamada de atención:

    «El futuro de la Web 2.0 como espacio social y político está vinculado indefectiblemente a la evolución de los “terms of service”, esas licencias kilométricas que nos saltamos sin prestarles mucha atención cada vez que instalamos un programa o nos suscribimos a un servicio. Quizás haya que empezar a leerlas».

    http://www.webdosbeta.net