Introduction
Un générateur de microrésumé est un document XML qui décrit comment extraire des informations spécifiques d'une page web pour les présenter sous forme résumée comme un marque-page dont le titre change en fonction du contenu de la page qu'il cible.
Cet article fournit des informations détaillées sur la grammaire XML utilisée pour créer des générateurs de microrésumés, décrivant chaque élément et ses attributs. Si vous désirez une introduction à la création d'un générateur de microrésumés, lisez l'article Création d'un générateur de microrésumé.
Exemple
Le microrésumé créé dans le tutoriel Création d'un générateur de microrésumé :
<?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>
Espace de noms
L'URI de l'espace de noms pour un document XML générateur de microrésumé est :
https://www.mozilla.org/microsummaries/0.1
Tous les éléments dans un document générateur de microrésumé devraient se situer dans cet espace de nom à l'exception des descendants de l'élément <template>
, qui devrait être dans l'espace de nom XSLT :
https://www.w3.org/1999/XSL/Transform
L'élément <generator>
L'élément <generator>
est la balise racine pour tous les générateurs de microrésumés et devrait contenir l'intégralité du reste du code XML décrivant le générateur.
Attributs :
-
name
(requis) - Un nom descriptif et humainement lisible pour le microrésumé créé par le générateur.
-
uri
(optionnel) -
Une URI valide identifiant de manière unique le générateur. Utile uniquement pour les générateurs créés dynamiquement par le code de Firefox et les extensions. Les générateurs installés depuis le Web via
nsSidebar::addMicrosummaryGenerator
sont identifiés par l'URL d'où ils ont été téléchargés, et Firefox ignore la valeur de cet attribut pour eux.
Eléments enfants :
-
<template>
(requis) - Définit comment transformer les pages en microrésumés.
-
<pages>
(requis) - Identifie l'ensemble de pages que le générateur sait résumer.
-
<update>
(optionnel) - Spécifie à quelle fréquence Firefox devrait actualiser les microrésumés.
L'élément <template>
L'élément <template>
contient la feuille de style XSLT qui transforme les pages web en leur microrésumé.
Attributs :
Aucun.
Eléments enfants :
-
<stylesheet>
ou<transform>
(requis) - La feuille de style XSLT qui effectue la transformation.
D'après XSLT, vous pouvez spécifier l'élément enfant de la feuille de style en utilisant soit la balise <stylesheet>
, soit la balise <transform>
, qui sont interchangeables.
Note: Bien que l'élément <template> doit appartenir à l'espace de noms du microrésumé (https://www.mozilla.org/microsummaries/0.1), son élément enfant <stylesheet>
/<transform>
doit se trouver dans l'espace de noms XSLT (https://www.w3.org/1999/XSL/Transform).
L'élément <pages>
L'élément <pages>
identifie l'ensemble des pages que le générateur est capable de résumer.
Attributs :
Aucun.
Eléments enfants :
-
<include>
(optionnel) - Une expression régulière correspondant aux URLs des pages que le générateur sait résumer.
-
<exclude>
(optionnel) - Une expression régulière correspondant aux URLs des pages que le générateur ne sait pas résumer.
L'élément <pages>
peut contenir zéro ou plus éléments enfants <include>
et <exclude>
, chacun d'entre eux devant contenir une expression régulière valide compatible JavaScript. Il ne doit pas contenir d'autres éléments et ne possède pas d'attributs.
Quand un générateur est examiné pour savoir s'il est capable de résumer une page, les expressions régulières fournies par les éléments enfants sont comparées à l'URL de la page. Un générateur est considéré capable de résumer une page si au moins une expression de <include>
correspond à l'URL et qu'aucune expression de <exclude>
n'y correspond.
L'ordre dans lequel les éléments enfants apparaissent à l'intérieur de l'élément <pages>
n'a pas d'importance. De même, les éventuels espaces entre les balises de l'élément enfant et l'expression régulière qu'il contient sont sans effet car ils ne sont pas considérés comme appartenant à l'expression.
L'exemple qui suit décrit un générateur comme capable de résumer toutes les pages du site www.example.com
à l'exception de celles nommées about.html
:
<pages>
<include>
^https://www\.example\.com/
</include>
<exclude>/about\.html</exclude>
</pages>
https://www\.example\.com/
correspond à la fois à l'URL https://www.example.com/
et à l'URL https://www.evil.com/https://www.example.com/
, mais l'expression régulière ^https://www\.example\.com/
ne correspond qu'à la première de ces deux URLs.Consultez la référence Référence de JavaScript 1.5 Core:Objets globaux:RegExp pour plus de détails sur la syntaxe des expressions régulière valide pour les générateurs, et le tutoriel Création d'expression régulières pour les générateurs de microrésumés pour un guide pas à pas sur l'écriture d'expressions régulières ciblant certaines URLs.
L'élément <include>
L'élément <include>
identifie un ensemble de pages que le générateur est capable de résumer. Il doit être un enfant de l'élément <pages>
, et doit contenir une expression régulière compatible JavaScript.
Pour plus d'informations sur l'utilisation de cet élément, consultez l'entrée sur l'élément <pages>
.
L'élément <exclude>
L'élément <exclude>
identifie un ensemble de pages que le générateur n'est pas capable de résumer. Il doit être un enfant de l'élément <pages>
, et doit contenir une expression régulière compatible JavaScript.
Pour plus d'informations sur l'utilisation de cet élément, consultez l'entrée sur l'élément <pages>
.
L'élément <update>
L'élément optionnel <update>
spécifie à quelle fréquence Firefox devrait actualiser les microrésumés créés par le générateur. L'élément peut être utilisé pour indiquer à la fois un intervalle de temps absolu et un ensemble d'intervalles conditionnels basés sur le contenu de la page qui est résumée.
Attributs :
-
interval
(optionnel) - Un intervalle de temps absolu, en minutes, entre deux mises à jour.
Eléments enfants :
-
<condition>
(optionnel) - Une expression booléenne XPath accompagnée d'un intervalle de temps conditionnel, en minutes, qui s'écoule entre deux mises à jour si l'expression est évaluée vraie.
L'attribut interval
définit un intervalle de temps absolu en minutes. Sa valeur doit être supérieure ou égale à 1. Les valeurs fractionnelles sont autorisées (p.ex. 5.5 minutes), bien qu'elles ne soient probablement pas utiles.
L'élément <update>
peut contenir n'importe quel nombre d'éléments enfants <condition>
.
Firefox détermine quel intervalle s'applique à un microrésumé créé par un générateur en fonction des règles suivantes :
- Firefox traite chaque élément enfant
<condition>
dans l'ordre du document. Pour chacun, Firefox évalue l'expression booléenne Xpath de l'élément sur la page qui est résumée. Si l'expression estvraie
, Firefox applique l'intervalle de cet élément et arrête de traiter les éléments enfants. Ainsi, la première<condition>
vérifiée détermine l'intervalle de mise à jour. - S'il n'y a pas d'éléments enfants
<condition>
, ou si aucune de leurs expressions n'estvraie
, Firefox utilise la valeur de l'attributinterval
de l'élément<update>
. - Si l'élément
<update>
ne comporte pas d'attributinterval
, Firefox emploie l'intervalle défini par la préférence browser.microsummary.updateInterval. - Si cette préférence n'a pas été définie, Firefox se rabat sur son intervalle de mise à jour par défaut qui est de 30 minutes.
Notes:
- quelque soit l'intervalle absolu ou conditionnel spécifié par cet élément, Firefox n'actualisera jamais un microrésumé plus d'une fois par minute;
- parce que Firefox recense les microrésumés expirés toutes les 15 secondes, il est possible que la mise à jour d'un microrésumé prenne jusqu'à 15 secondes de retard sur ce que son intervalle indique;
- Firefox respecte le cache du navigateur quand il actualise les microrésumés, et ne rechargera donc pas une page dont il existe une copie fraîche dans le cache pour actualiser un microrésumé.
L'élément <condition>
L'élément optionnel <condition>
spécifie une expression booléenne XPath ainsi qu'un intervalle de temps conditionnel, en minutes, qui s'écoule entre deux mises à jour si l'expression est vraie lorsqu'elle est évaluée sur la page qui est résumée. Cet élément doit être un enfant de l'élément <update>
.
Attributs :
-
expression
(requis) - Une expression booléenne XPath à évaluer sur la page qui est résumée.
-
interval
(requis) -
L'intervalle de temps, en minutes, entre deux mises à jour si l'expression est évaluée
vraie
.
Eléments enfants :
Aucun.
Pour plus d'informations sur l'utilisation de cet élément, consultez l'entrée sur l'élément <update>
.