RSS – Introducción

¿Qué es RSS?

RSS es una forma muy sencilla para que puedas recibir, directamente en tu ordenador o en una página web online (a través de un lector RSS) información actualizada sobre tus páginas web favoritas, sin necesidad de que tengas que visitarlas una a una. Esta información se actualiza automáticamente, sin que tengas que hacer nada. Para recibir las noticias RSS la página deberá tener disponible el servicio RSS y deberás tener un lector Rss.

Si existen varias páginas web que te interesan que van actualizando sus contenidos y te gustaría mantenerte informado, un lector RSS te ahorrará mucho tiempo en esta tarea. Gracias al RSS, no tendrás que visitar cada una de las páginas web que te interesan para ver si han añadido o no algún artículo que te pueda interesar. Estas páginas te informarán a ti (a través de tu lector de RSS). Cuando ingreses a tu Lector RSS (o Rss Reader), estarás automáticamente informado sobre todas las novedades que se han producido en todas las páginas web que has dado de alta.

Los sistemas RSS tienen muchas ventajas que vamos a resumir. Gracias al RSS, tendrás reunidas en un mismo lugar y a un solo clic de distancia, toda la información actualizada de las páginas web (Fuentes o canales RSS) que más te interesan. Si todavía no te han quedado claro lo que es el RSS y lo que te puede aportar, puedes leer información adicional sobre para qué sirve el RSS y algunos ejemplos ilustrativos.

Un buen ejemplo de lo que es RSS:

XML 5ª Parte

Herramientas para trabajar con documentos XML

Puede ser 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. Aunque se puede dividir en dos grupos:

  • Herramientas de creación.
  • Herramientas de administración de contenido.

Lenguajes creados usando XML

Extensible Stylesheet Language (XSL)

El Lenguaje de Hoja de Estilo Extensible (eXtensible Stylesheet LanguageXSL) es una familia de lenguajes que permiten describir como los archivos codificados en XML serán 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 aplicación XML que intenta superar las limitaciones que tienen los enlaces de hipertexto en HTML. XLink 1.1 es ya una recomendación W3C.

Otras tecnologías

Hay quien opina que XML es demasiado pesado para algunas aplicaciones y difícil de editar con un editor de texto simple. Por ello merece la pena mencionar algunas alternativas más 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 están emparentados con XML como el SOX, antes comentado.
  • BBCode. Este tiene un uso muy restringido para dar formato nada más.

También hay por lo menos un lenguaje basado en XML en formato binario, llamado EBML.

XML 4ª Parte

Validez

Que un documento esté «bien formado» solamente se refiere a su estructura sintáctica básica, es decir, que se componga de elementos, atributos y comentarios como XML especifica que se escriban. Ahora bien, cada aplicación de XML, es decir, cada lenguaje definido con esta tecnología, necesitará especificar cuál es exactamente la relación que debe verificarse entre los distintos elementos presentes en el documento.

Esta relación entre elementos se especifica en un documento externo o definición (expresada como DTD —Document Type Definition, ‘Definición de Tipo de Documento’— o como XSchema). Crear una definición equivale a crear un nuevo lenguaje de marcado, para una aplicación específica.

Document Type Definition

La Document Type Definition o DTD (en español «definición 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 válidos.

Declaraciones tipo elemento

Los elementos deben ajustarse a un tipo de documento declarado en una DTD para que el documento sea considerado como válido.

Modelos de contenido

Un modelo de contenido es un patrón que establece los subelementos aceptados, y el orden en que se aceptan.

Declaraciones de lista de atributos

Los atributos se usan para añadir información adicional a los elementos de un documento.

Tipos de atributos

Declaración de entidades

XML hace referencia a objetos que no deben ser analizados sintácticamente según 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 semánticamente 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, cómo están 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.

XML 3ª Parte

Partes de un documento XML

Un documento XML está formado por el prólogo 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 gramática léxica para que se componga de manera uniforme.

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 de un documento XML 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 (definición de tipo de documento), 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.

Ejemplo:

<?xml version="1.0" encoding="UTF-8"?>

Cuerpo

A diferencia del prólogo, el cuerpo no es opcional en un documento XML, el cuerpo debe contener solo un elemento raíz, característica indispensable también para que el documento esté bien formado. Sin embargo es necesaria la adquisición de datos para su buen funcionamiento.

Ejemplo:

<Edit_Mensaje>     
(...)
</Edit_Mensaje>

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. 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 día 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: & carácter: &.

Secciones CDATA

Es una construcción en XML para especificar datos utilizando cualquier carácter 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 -->

XML 2ª Parte

Ventajas del XML

  • Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna.
  • El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión 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, podríamos tener una aplicación en Linux con una base de datos Postgres y comunicarla con otra aplicación en Windows y Base de Datos MS-SQL Server.
  • Transformamos datos en información, pues se les añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.

Estructura de un documento XML

La tecnología XML busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información 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 información. Ejemplos son un tema musical, que se compone de compases, que están formados a su vez por notas. Estas partes se llaman elementos, y se las señala mediante etiquetas.

Una etiqueta consiste en una marca hecha en el documento, que señala una porción de éste como un elemento. Un pedazo de información con un sentido claro y definido. Las etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se está señalando.

A continuación 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 código 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)>

XML 1ª Parte

XML, siglas en inglés de eXtensible Markup Language, traducido como «Lenguaje de Marcado Extensible» o «Lenguaje de Marcas Extensible», es un meta-lenguaje que permite definir lenguajes de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Proviene del lenguaje SGML y permite definir la gramática de lenguajes específicos (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 deben comunicarse entre sí o integrar información.1

XML no ha nacido únicamente para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande, con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

Lenguaje de Marcas

Un lenguaje de marcas es una señal colocada en un texto con el fin de delimitar una parte del mismo para darle un formato determinado. Algunas de las marcas más empleadas son «<» y «>». Tenemos que tener en cuenta que el lenguaje de marcas no es un lenguaje de programación como tal pero puede contener partes de códigos de otros lenguajes de programación.

Características de las lenguajes de marca

  • Uso del texto plano: Al ser un texto plano cualquier persona puede leer y editar esa información. Los caracteres pueden codificarse en distintas codificaciones (UTF-8, ASCII,…).
  • Es un Lenguaje compacto: Las etiquetas de marcas se mezclan con el contenido del mismo.
  • Independencia del dispositivo: Al ser independiente del dispositivo nos permite mostrar el contenido.
  • Facilidad de procesamiento: Permite el desarrollo de lenguajes especializadas según el tipo de documento que necesitemos procesar.
  • Flexibilidad: Posibilidad de combinación con otros lenguajes

Lenguajes de marcas más destacados

Uno de los primeros lenguajes de marcas estandarizado fue SGML (metalenguaje que permite crear otras lenguajes de marca) que se baso en el lenguaje SGML de IBM. Debido a la complejidad de SGML se creo en 1998 un lenguaje llamada XML que es una versión más simple de SGML.

Actualmente existen muchas lenguajes que tienen un propósito especifico como el HTML, MathML, TeX, Wiki, SVG, etc…