Los microformatos permiten a un sitio web ofrecer datos semánticos a los navegadores de forma que sea posible presentar resúmenes de la información en una página sin que sea necesario saber cómo analizar el documento en si mismo. Firefox 3 implementa un objeto global Microformats
que permite el acceso a estos microformatos. Este objeto y su API hacen de la búsqueda y lectura de microformatos, algo fácil.
Cargar el API de Microformatos
El objeto Microformats
se crea usando el nuevo cargador de JavaScript integrado en Firefox 3. Para usar este API, primero necesitas cargar el objeto:
Components.utils.import("resource://gre/modules/Microformats.js");
Una vez cargado del API de Microformatos, puedes manejar los Microformatos usando los métodos que aquí listamos. Para información sobre cómo analizar los Microformatos, lee: Analizar microformatos en JavaScript.
Microformatos predefinidos
Firefox 3 ofrece varios Microformatos integrados:
adr
- Representa una dirección (como una calle o una dirección postal).
geo
- Representa una localización geográfica usando coordenadas de latitud y longitud.
hCard
- Representa la información de contacto de una persona.
hCalendar
- Representa una entrada en un calendario o la cita en una agenda.
tag
- Se usa para añadir pestañas a otros Microformatos.
Métodos
add()
Añade un nuevo Microformato al módulo de Microformatos.
add(name, definition);
Parámetros
- <tt>name</tt>
- El nombre del microformato a añadir al módulo.
- <tt>definición</tt>
- Una estructura JavaScript que describe el microformato. Ver Crear microformatos en JavaScript para más detalles.
count()
Cuenta el número de microformatos que hay en un documento que cumple con determinado criterio.
numMicroformats = Microformats.count(name, rootElement, options);
Parámetros
- <tt>name</tt>
- El nombre del microformato que queremos contar.
- <tt>rootElement</tt>
- Requerido. El elemento DOM en dónde empezar la búsqueda. Si deseas buscar en el documento entero, especifica
content.document
. - <tt>options</tt>
- Opcional. Cuando se especifica, este es un objeto JavaScript que contiene cero o más de los siguientes flag:
- <tt>recurseExternalFrames</tt>
- Si es
true
, se incluyen los marcos (frames) hijos en la búsqueda. Por defecto estrue
.- <tt>showHidden</tt>
- Si es
true
, se añaden microformatos ocultos, en caso contrario, se ignoran. Por defecto esfalse
.- <tt>debug</tt>
- Se especifica a
true
cuando se usa el modo de "debug", en caso contrario esfalse
. Por defecto esfalse
.
Valor devuelto
Un valor entero que indica el número de microformatos que cumplen el criterio especificado.
debug()
Devuelve una cadena que describe un objeto microformato.
debug()
en un objeto microformato: microformatObject.debug()
en lugar de usar este método, si lo prefieres.dumpString = debug(microformatObject)
Parámetros
- <tt>microformatObject</tt>
- El objeto microformato a descargar.
Valor devuelto
Una cadena que describe el contenido del objeto microformato especificado.
get()
Devuelve una matriz de objetos microformato encontrados, que cumplen con el criterio especificado.
microformatsArray = Microformats.get(name, rootElement, options, targetArray);
Parámetros
- <tt>name</tt>
- El nombre del microformato a encontrar.
- <tt>rootElement</tt>
- Requerido. El elemento DOM donde debe comenzar la búsqueda. Si quieres buscar el documento entero, especifica
content.document
. - <tt>options</tt>
- Opcional. Si se especifica, es un objeto JavaScript que contiene cero o más de los siguientes flag:
- <tt>recurseExternalFrames</tt>
- Si es
true
, se incluyen los marcos hijo que hagan referencia a contenido externo, en la búsqueda. Por defecto estrue
.- <tt>showHidden</tt>
- Si es
true
, se incluyen los microformatos ocultos, en caso contrario se ignoran. Por defecto esfalse
.- <tt>debug</tt>
- Especifica
true
si se está en modo "debug", en caso contrario esfalse
. Por defecto esfalse
.
- <tt>targetArray</tt>
- Opcional. Cuando se especifica, es una matriz de objetos microformatos en donde se añaden lso objetos microformato resultantes de la búsqueda.
Valor devuelto
Una nueva matriz de objetos microformato que cumplen con el criterio de búsqueda, o la matriz especificada por <tt>microformats</tt> con los nuevos microformatos encontrados añadidos.
getNamesFromNode()
Devuelve una lista, delimitada por espacios, de nombres de microformatos que corresponde al nodo especificado.
nameList = Microformats.getNamesFromNode(node);
Parámetros
- <tt>node</tt>
- El nodo en el cual leer una lista de nombres de microformatos.
Valor devuelto
Si el <tt>node</tt> especificado es un microformato, el resultado es una cadena conteniendo, delimitados por especios, los nombres de todos los microformatos que corresponden al nodo. Si el nodo no es un microformato, no se devuelve nada.
getParent()
Devuelve el nodo padre del microformato especificado o hijo de un microformato.
parentNode = Microformats.getParent(node);
Parámetros
- <tt>node</tt>
- El nodo cuyo padre quieres obtener.
Valor devuelto
El padre del nodo especificado. No devuelve nada si el <tt>node</tt> especificado no es un microformato o el hijo de un microformato.
isMicroformat()
Determina si el nodo DOM especificado es o no un microformato.
flag = Microformats.isMicroformat(node);
Parámetros
- <tt>node</tt>
- El nodo DOM a comprobar si es un microformato.
Valor devuelto
Devuelve true
si el nodo es un microformato y false
en caso contrario.
true
si el nodo es hijo de un microformato.