|

Contactos: de la web a la agenda con microformatos y xslt

microformats_logo.pngLos microformatos están de moda. Cada vez se habla más sobre ellos y muchos los recomendamos, intentamos difundirlos y apostamos por su uso. Pero suele haber una pregunta recurrente cuando hablamos del tema ¿Qué utilidades tienen?.

Podemos contestar que constituyen una buena práctica, que aportan semántica a nuestra web, que facilitan el procesamiento de nuestro código por terceras partes… pero a veces es complejo poner ejemplos concretos.

Hace poco tiempo explicaba en tripix.net cómo la extensión de Firefox, Operator, trabaja con los microformatos, hoy vamos a ver otra interesante aplicación: cómo hacer que cuando la información de contacto en una web, microformateada con hcard, se exporte directamente a vCard, un formato de archivo estandarizado que para el intercambio de datos de contacto que entienden la práctica totalidad de las aplicaciones de agenda (Thunderbird, iCal, Outlook, etc.)

El microformato en nuestra página

Vamos a utilizar un ejemplo muy sencillo en el que mostramos mis datos de contacto. El código que utilizaríamos para poner esta información en nuestro código xHtml sería el siguiente.

<div class="vcard">
<a class="url fn" href="http://sentidoweb.com/">Xose Pita</a>
<br />
<div class="adr">
<span class="locality">Granada</span>, <span class="country-name">España</span>
</div>
<div class="org">Sentido Web</div>
</div>

Pasando de hCard a Vcard

Para esto utilizaremos una pequeña utilidad que ha desarrollado Brian Suda, uno de los grandes evangelistas de los microformatos, y que mediante PHP y XSLT (lenguaje que permite transformar cualquier documento XML a otra sintaxis) convierte la información de contacto microformateada que encuentre en una url a formato vCard.

Solamente es necesario enlazar con la dirección http://suda.co.uk/projects/X2V/get-vcard.php y pasarle por GET el parámetro "uri" con la url donde está la información de contacto. Por ejemplo:


<a href="http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://sentidoweb.com/about/">Guardar tarjeta de contacto</a>

Útil y fácil, así que Descargar mi tarjeta de contacto.

Podéis ver un ejemplo práctico ya con CSS en mi perfil de Sentido Web.

Vía / Shape Shed

|

¿Qué son los Microformatos?

microformats.pngÚltimamente se habla bastante de microformatos, pero la verdad es que está un poco confuso, por ello vamos a intentar explicar qué son, para qué lo podemos usar y ejemplos de algunos de ellos, aunque ya explicamos anteriormente un poco sobre ello.

¿Qué son?

La verdad es que la definición oficial nos puede dejar tal cual, sin entender palabra, por eso creo que son mejores las explicaciones que nos ofrecen otras personas. Traducimos:

Microformatos son códigos simples que tu puedes usar para identificar tipos de datos específicos, como personas o eventos, en tus páginas web.

Microformatos son un modo de publicar y compartir información en tu web de un modo bastante fiel.
Por ejemplo, si quieres que la información de contacto de tu empresa sea fácilmente identificable, puedes publicarlo mediante hCard. […]
La clave de los microformatos es que son suficientemente simples para que los diseñadores/desarrolladores web lo incluyan en sus páginas ellos mismos. Los microformatos son más sencillos que publicar feeds. No necesitas ser programador para poder usarlos. Alguien que sepa un mínimo de XHTML/CSS puede usarlos.

Pero lo más importante es que primero debe ser entendible para el ser humano y luego por las máquinas.

¿Para qué sirven? ¿Qué se puede hacer con los microformatos?

Con los microformatos puedes publicar información sobre eventos, tarjetas de visita de empresas, libretas de direcciones, … de forma que sea fácil de leer por una persona en una página web y que a la vez sea entendible para un ordenador, que luego la almacenará, indexará o tratará. Se trata de mostrar información y que queramos que ésta sea facilmente compartida (mediante la localización e indexación, por ejemplo). Tenemos una información y queremos que otros (hombres o máquinas) no se vuelvan locos intentando localizarla. En definitiva, ordenar información para que sea fáci y rápidamente catalogada y accesible.

Ejemplos

  • hCalendar: para mostrar calendarios y eventos
  • hCard: información sobre personas, compañías y organizaciones
  • rel-license: para indicar la licencia de uso
  • rel-nofollow: el enlace no debe ser analizado por motores de búsqueda
  • rel-tag: para indicar que el enlace es un tag
  • VoteLinks: para indicar el tipo de voto que se hace sobre una pregunta

Más información