Borrador
Esta página no está completa.
Introducción
Un generador de microrresúmenes es un documento XML que describe la forma de recuperar información específica desde una página web para ser presentada de forma resumida como un marcador cuyo título cambia basándose en el contenido de la página que referencia.
Este artículo proporciona información detallada sobre la gramática XML usada para construir generadores de microrresúmenes, describiendo cada elemento y sus atributos. Puedes ver una introducción de cómo crear un microrresumen leyendo el artículo Crear un microrresumen.
Ejemplo
A continuación se muestra el generador de microrresúmenes creado en el tutorial Crear un microrresumen.
<?xml version="1.0" encoding="UTF-8"?> <generator xmlns="https://www.mozilla.org/microsummaries/0.1" name="Firefox Download Count"> <template> <transform xmlns="https://www.w3.org/1999/XSL/Transform" version="1.0"> <output method="text"/> <template match="/"> <value-of select="id('download-count')"/> <text> Fx downloads</text> </template> </transform> </template> <pages> <include>https://(www\.)?spreadfirefox\.com/(index\.php)?</include> </pages> </generator>
Espacio de nombres
El URI del espacio de nombres para los documentos XML generadores de microrresúmenes es:
https://www.mozilla.org/microsummaries/0.1
Todos los elementos en un documento generador de microrresúmenes deben de estar en este espacio de nombres excepto los descendientes del elemento <template>
, el cual debe de estar en el espacio de nombres de XSLT:
https://www.w3.org/1999/XSL/Transform
El elemento <generator>
El elemento <generator>
es la etiqueta raíz para todos los generadores de microrresúmenes y debe de contener el resdo del código XML que describen al generador.
Atributos:
-
name
(requirido) - Un nombre descriptibo y legible para el microrresumen creado por el generador.
-
uri
(opcional) -
Un URI único válido que identifique al generador. Sólo es relevante para los generadores creados dinámicamente por el código y las extensiones de Firefox. Los generadores instalados desde el web vía
nsSidebar::addMicrosummaryGenerator
son identificados por la URL remota desde la que son descargados. Para éstos, Firefox ignorará el valor de este atributo.
Elementos hijos:
-
<template>
(requerido) - Especifica cómo transformar páginas en sus microrresúmenes.
-
<pages>
(requerido) - Identifica el conjunto de páginas que el generador es capaz de resumir.
-
<update>
(opcional) - Especifica cada cuanto tiempo debe Firefox actualizar los microrresúmenes.
El elemento <template>
El elemento <template>
contiene la hoja de estilos XSLT que transforma páginas web en sus microrresúmenes.
Atributos:
Ninguno.
Elementos hijos:
-
<stylesheet>
o<transform>
(requeridos) - La hoja de estilos XSLT que realiza la transformación.
Para cada XSLT, debes especificar el elemento hijo de hojas de estilo usando o bien <stylesheet>
o bien la etiqueta <transform>
, las cuales son intercambiables.
Nota: Aunque el elemento <template> debe de estar en el espacio de nombres del microrresumen (https://www.mozilla.org/microsummaries/0.1), sus elementos <stylesheet>
/<transform>
deben de estar en el espacio de nombres de XSLT (https://www.w3.org/1999/XSL/Transform).
El elemento <pages>
El elemento <pages>
identifica el conjunto de páginas que el generador es capaz de resumir.
Atributos:
Ninguno.
Elementos hijo:
-
<include>
(opcional) - Una expresión regular que coincide con las URLs de las páginas que el generador es capaz de resumir.
-
<exclude>
(opcional) - Una expresión regular que coincide con las URLs de las páginas que el generador es incapaz de resumir.
El elemento <pages>
puede contener cero o más elementos hijos <include>
y <exclude>
, cada uno de los cuales puede contener una expresión regular compatible con JavaScript. No debe de contener ningún otro elemento y no tiene ningún attributo.
Cuando un generador es examinado para determinar si es capaz o no de resumir una página, las expresiones regulares proporcionadas por los elementos hijos son evaluadas con la URL de la página. Un generador es considerado capaz de resumir una página si al menos una de las expresiones <include>
coincide con la URL de la página y ninguna de las expresiones <exclude>
coincide con la URL de la página.
El orden en el que los elementos hijos aparecen en el elemento <pages>
no es relevante. Los espacios en blanco entre los elementos hijos y las expresiones regulares tampoco importan; no se consideran parte de la expresión regular y no afectan a la evaluación de dichas expresiones.
El siguiente ejemplo identifica un generador como aquel capaz de resumir todas las páginas del sitio web www.example.com
excepto las páginas llamadas about.html
:
<pages>
<include>
^https://www\.example\.com/
</include>
<exclude>/about\.html</exclude>
</pages>
https://www\.example\.com/
coincidirá tanto con la URL https://www.example.com/
como en la URL https://www.evil.com/https://www.example.com/
, pero la expresión regular ^https://www\.example\.com/
sólo coincidirá con la primera de las anteriores dos URLs.Véase la referencia Core_JavaScript_1.5_Reference:Global_Objects:RegExp para detalles sobre la sintaxis válida de las expresiones regulares para los generadores y el tutorial Crear expresiones regulares para generadores de microrresúmenes para seguir paso a paso las instrucciones sobre cómo escribir expresiones regulares que coincidan con URLs.
El elemento <include>
El elemento <include>
identifica un conjunto de páginas que el generador es capaz de resumir. Debe de ser hijo del elemento <pages>
y debe de contener una expresión regular compatible con JavaScript.
Para más información sobre el uso de este elemento, véase la entrada para #The_<pages>_element.
El elemento <exclude>
El elemento <exclude>
identifica un conjunto de páginas que el generador no es capaz de resumir. Debe ser hijo del elemento <pages>
y debe de contener una expresión regular compatible con JavaScript.
Para más información sobre el uso de este elemento, véase la entrada para #The_<pages>_element.
El elemento <update>
El elemento opcional <update>
especifica cada cuánto tiempo debe Firefox actualizar los microrresúmenes generados por el generador. El elemento puede ser usado para especificar tanto un intervalo absoluto de actualización como una serie de intervalos condicionales basados en el contenido de la página que está siendo resumida.
Atributos:
-
interval
(opcional) - Es el intervalo de tiempo absoluto (en minutos) que debe de transcurrir entre las actualizaciones.
Child Elements:
-
<condition>
(opcional) - Una expresión XPath booleana junto con el intervalo de tiempo (en minutos) que debe de transcurrir entre las actualizaciones si la expresión se evalua a true.
El atributo interval
define un intervalo absoluto en minutos. Su valor debe de ser un número mayor o igual que 1. Los valores decimales (p.e.: 5.5 minutos) están permitidos aunque probablemente no sean útiles.
El elemento <update>
puede contener cualquier número de elementos hijos <condition>
.
Firefox determina qué intervalo aplicar a un microrresumen generado por un generador de acuerdo a las siguiente reglas:
- Firefox procesa cada elemento hijo
<condition>
en el orden en el que aparecen en el documento. Para cada uno, Firefox evalúa la expresión XPath booleana del elemento contra la página que va a ser resumida. Si la expresión se evalúa atrue
, Firefox aplicará el intervalo de ese elemento y detendrá el procesado de los elementos hijos. Así, la primera<condition>
que coincida determinará el intervalo de actualización.
- Si no hay elementos hijos
<condition>
o si ninguna de sus expresiones se evalúa atrue
, Firefox aplicará el valor del atributointerval
del elemento<update>
.
- Si el elemento
<update>
no incluye un atributointerval
, Firefox aplicará el intervalo especificado por la entrada browser.microsummary.updateInterval en las preferencias.
- Si esa entrada no ha sido establecida, Firefox aplicará su intervalo de actualización por defecto, el cual dura 30 minutos.
Notas:
- Independientemente del intervalo absoluto o condicional de actualización especificado por este elemento, Firefox nunca actualizará los microrresúmenes con una frecuencia superior a un minuto.
- Dado que Firefox comprueba los microrresúmenes caducados cada 15 segundos, es posible que la actualización de un microrresumen comience hasta 15 segundos después de lo que indica su intervalo.
- Firefox respeta la caché del navegador cuando actualiza los microrresúmenes por lo que no recargará una página para actualizar su microrresumen si la caché contiene una copia reciente de la página.
El elemento <condition>
El elemento opcional <condition>
especifica una expresión XPath booleana junto con un intervalo de tiempo condicional (en minutos) que debe de transcurrir entre las actualizaciones si la expresión se evalúa a true cuando se evalúa contra la página que va a ser resumida. Debe de ser hijo del elemento <update>
.
Atributos:
-
expression
(requerido) - Una expresión XPath booleana para ser evaluada contra la página que va a ser resumida.
-
interval
(requerido) -
Un intervalo de tiempo, en minutos, que debe de transcurrir entre las actualizaciones si la expresión se evalúa a
true
.
Elementos hijos:
Ninguno.
Para más información acerca del uso de este elemento, véase la entrada para #The_<update>_element.