Laboratorio: reconocimiento de un motor de búsqueda para navegadores
Una de las caracterÃsticas más útiles que poseen actualmente los navegadores es la posibilidad de personalizar y añadir motores de búsqueda. Firefox lo dispone desde hace tiempo e Internet Explorer lo ha añadido en su última versión. Para poder tener un poco de orden en la creación de estos motores existe OpenSearch, que tal como dice la Wikipedia es:
es un conjunto de tecnologÃas que permiten publicar los resultados de una búsqueda en un formato adecuado para la sindicación y agregación. Es una forma para que las páginas web y los motores de búsqueda publiquen sus resultados de forma accesible
El proceso es sencillo, añades un XML en tu web y un acceso desde tus páginas para que el navegador lo reconozca y te avise de que existe para instalarlo directamente.
El XML serÃa el siguiente:
<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> <ShortName>Sentido Web</ShortName> <LongName>Sentido Web - Actualidad, productividad y desarrollo web...</LongName> <Description>Encuentra todo lo que necesitas en tu dÃa a dÃa del desarrollo web.</Description> <Tags>sentidoweb web internet blogs bitácoras weblogs web2.0 estándares css xhtml web-semántica php javascript</Tags> <Contact>info@blogsmedia.com</Contact> <Url type="text/html" template="http://sentidoweb.com/bm/mt-search.cgi?IncludeBlogs=1&search={searchTerms}&submit.x=0&submit.y=0&submit=Buscar"/> <Image height="16" width="16" type="image/vnd.microsoft.icon">http://sentidoweb.com/i/favicon.ico</Image> <Query role="example" searchTerms="php" /> <Developer>Luis Sacristán Pascual</Developer> <Attribution>BlogsMedia 2007, Creative Commons (Reconocimiento-NoComercial-SinObraDerivada 2.5)</Attribution> <SyndicationRight>open</SyndicationRight> <AdultContent>false</AdultContent> <Language>es-es</Language> <OutputEncoding>UTF-8</OutputEncoding> <InputEncoding>UTF-8</InputEncoding> </OpenSearchDescription>
Y la lÃnea que hay que añadir a nuestras páginas en el header es la siguiente:
<link rel="search" type="application/opensearchdescription+xml" href="http://dominio/path/opensearch.xml" title="Nuestro buscador" />
El XML de arriba es el que usamos para Sentido Web y aunque su lectura es clara, explicaremos cada una de las etiquetas del XML:
- OpenSearchDescription: es la cabecera del XML de OpenSearch.
- ShortName: contiene el nombre corto que identifica al motor de búsqueda. Debe tener como máximo 16 caracteres.
- LongName: contiene el nombre largo que identifica al motor de búsqueda. Debe tener como máximo 48 caracteres.
- Description: descripción del motor de búsqueda. Debe tener un máximo de 1024 caracteres.
- Tags: conjunto de palabras separadas por espacios que describen el tipo de contenido que nos encontraremos en las búsquedas. Debe tener un máximo de 256 caracteres.
- Contact: e-mail de contacto.
- Url: indica el interfaz que el cliente (navegador) podrá utilizar para realizar la búsqueda. Dispone de varios parámetros que nos permiten personalizar la búsqueda:
- type: tipo MIME del resultado de la búsqueda. Puede ser por ejemplo application/rss+xml para RSS o application/xhtml+xml para XHTML.
- template: la plantilla de la URL para indicar al cliente cómo realizar la búsqueda, usando esta sintaxis.
- indexOffset: contiene el Ãndice del primer resultado de búsqueda.
- pageOffset: contiene el número de la primera página de resultados.
Existen otras etiquetas y se le pueden añadir otras si se indica un xmlns en la etiqueta OpenSearchDescription.