mozilla

Compare Revisions

Creació d'un microsumari

Change Revisions

Revision 263061:

Revision 263061 by Planche on

Revision 230478:

Revision 230478 by Planche on

Title:
Creació_d'un_microsumari
Creació d'un microsumari
Slug:
Creació_d'un_microsumari
Creació_d'un_microsumari
Content:

Revision 263061
Revision 230478
t7    <p>t
8      Un generador de microsumaris és un conjunt d'instruccions p
>er a crear un microsumari a partir del contingut d'una pàgina. Le 
>s pàgines web poden fer referència als generadors a través d'elem 
>ents <code>&lt;link rel="microsummary"&gt;</code> en llurs elemen 
>ts de capçalera &lt;head&gt;. Els generadors també poden baixar-s 
>e i instaŀlar-se de forma independent pels usuaris si aquests inc 
>louen una llista de les pàgines a les quals s'apliquen. 
9    </p>
10    <p>
11      En aquest tutorial crearem un generador de microsumaris per
> a la <a class="external" href="http://www.spreadfirefox.com/">pà 
>gina d'inici d'Spread Firefox</a>. Es mostrarà el recompte actual 
> de baixades del Firefox juntament amb l'etiqueta <cite>baixades  
>del Firefox</cite>; per exemple: <cite>174475447 baixades del Fir 
>efox</cite>. 
12    </p>
13    <p>
14      També crearem un full de transformació XSLT que converteix 
>la pàgina en el seu microsumari, aprendrem com especificar que el 
> generador s'apliqui en aqueixa pàgina, i esbrinarem com fer el g 
>enerador disponible perquè pugui baixar-se i instaŀlar-se. 
15    </p>
16    <p>
17      En cada pas de la revisió del full de transformació, com al
>tre codi del tutorial, el text que s'afegeixi es mostrarà <b>en n 
>egreta</b> perquè el procés pugui seguir-se més fàcilment. 
18    </p>
19    <h2 id="Inici" name="Inici">
20      Inici
21    </h2>
22    <p>
23      Els generadors són documents XML que tenen com element arre
>l l'etiqueta <code>&lt;generator&gt;</code> en l'espai de noms <c 
>ite><a class=" external" href="http://www.mozilla.org/microsummar 
>ies/0.1" rel="freelink">http://www.mozilla.org/microsummaries/0.1 
></a></cite>. Per a començar a crear un generador, partim d'un nou 
> fitxer de text buit i li afegim una declaració XML i un element  
>&lt;generator&gt; buit: 
24    </p>
25    <pre class="eval">
26<b>&lt;?xml version="1.0" encoding="UTF-8"?&gt; </b>
27<b>&lt;generator xmlns="<a class=" external" href="http://www.moz
>illa.org/microsummaries/0.1" rel="freelink">http://www.mozilla.or 
>g/microsummaries/0.1</a>"&gt; </b> 
28<b>&lt;/generator&gt;</b>
29</pre>
30    <h2 id="Donant-li_un_nom" name="Donant-li_un_nom">
31      Donant-li un nom
32    </h2>
33    <p>
34      Els generadors cal que tinguin atributs de nom que són desc
>ripcions arbitràries dels microsumaris que el generador crea. Cal 
> que els noms siguin suficientment descriptius perquè els usuaris 
> puguin fer-se una idea de quina informació es proporciona des de 
>ls microsumaris. Atès que el nostre generadpr crearà microsumaris 
> que mostren el recompte baixades del Firefox, un nom adequat pot 
> ser «Recompte de baixades del Firefox»: 
35    </p>
36    <pre class="eval">
37&lt;?xml version="1.0" encoding="UTF-8"?&gt;
38&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
39          <b>name="Recompte de baixades del Firefox"</b>&gt;
40&lt;/generator&gt;
41</pre>
42    <h2 id="Addici.C3.B3_d.27un_full_de_transformaci.C3.B3_XSLT" 
>name="Addici.C3.B3_d.27un_full_de_transformaci.C3.B3_XSLT"> 
43      Addició d'un full de transformació XSLT
44    </h2>
45    <p>
46      Els generadors han d'incloure un full de transformació XSLT
> (també conegut com full d'estil XSLT) que transformi el contingu 
>t de la pàgina en el seu microsumari. L'XLST és un potent llengua 
>tge per a transformar documents en diferents representacions de l 
>a mateixa informació. 
47    </p>
48    <p>
49      Afegiu el full de transformació XSLT al generador incloent-
>hi l'element <code>&lt;template&gt;</code>: 
50    </p>
51    <pre class="eval">
52&lt;?xml version="1.0" encoding="UTF-8"?&gt;
53&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
54          name="Recompte de baixades del Firefox"&gt;
55 <b>&lt;template&gt;</b>
56   <b>&lt;transform xmlns="<a class=" external" href="http://www.
>w3.org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/ 
>XSL/Transform</a>" version="1.0"&gt;</b> 
57   <b>&lt;/transform&gt;</b>
58 <b>&lt;/template&gt;</b>
59&lt;/generator&gt;
60</pre>
61    <p>
62      Tingueu en compte que mentre els generadors de microsumaris
> poden incloure codi XSLT arbitrari, si incorporeu XSLT que produ 
>eixi sortida en text ric, el Firefox actualment només podrà mostr 
>ar-la en text net. 
63    </p>
64    <h2 id="Especificaci.C3.B3_d.27un_tipus_de_sortida" name="Esp
>ecificaci.C3.B3_d.27un_tipus_de_sortida"> 
65      Especificació d'un tipus de sortida
66    </h2>
67    <p>
68      Atès que el full de transformació XSLT generarà un microsum
>ari en format text, cal que ho indiquem amb l'element &lt;output& 
>gt;: 
69    </p>
70    <pre class="eval">
71&lt;?xml version="1.0" encoding="UTF-8"?&gt;
72&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
73          name="Recompte de baixades del Firefox"&gt;
74 &lt;template&gt;
75   &lt;transform xmlns="<a class=" external" href="http://www.w3.
>org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/XSL 
>/Transform</a>" version="1.0"&gt; 
76     &lt;output method="text"/&gt;
77   &lt;/transform&gt;
78 &lt;/template&gt;
79&lt;/generator&gt;
80</pre>
81    <h2 id=".C3.9As_d.27una_plantilla_d.27XSLT_simple.2C_.3Ctempl
>ate.3E" name=".C3.9As_d.27una_plantilla_d.27XSLT_simple.2C_.3Ctem 
>plate.3E"> 
82      Ús d'una plantilla d'XSLT simple, &lt;template&gt;
83    </h2>
84    <p>
85      El processador d'XSLT transforma els documents comparant ca
>da element XSLT en el full de transformació amb el conjunt de nod 
>es del document. Quan un atribut de &lt;template&gt; coincideix a 
>mb el d'un node, el processador realitza les transformacions que  
>s'especifiquen en el contingut de l'element. 
86    </p>
87    <p>
88      Aquest és un potent mecanisme, perquè us permet recòrrer l'
>àrbol de nodes d'un document, generant recursivament una sortida  
>basada en els continguts del document. Per a generar un microsuma 
>ri per a la pàgina d'Spread Firefox page, només ens cal un únic e 
>lement &lt;template&gt; que coincideixi amb el node arrel del doc 
>ument i que es processi d'una vegada: 
89    </p>
90    <pre class="eval">
91&lt;?xml version="1.0" encoding="UTF-8"?&gt;
92&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
93          name="Recompte de baixades del Firefox"&gt;
94 &lt;template&gt;
95   &lt;transform xmlns="<a class=" external" href="http://www.w3.
>org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/XSL 
>/Transform</a>" version="1.0"&gt; 
96     &lt;output method="text"/&gt;
97     &lt;template match="/"&gt;
98     &lt;/template&gt;
99   &lt;/transform&gt;
100 &lt;/template&gt;
101&lt;/generator&gt;
102</pre>
103    <h2 id="Incloure_el_recompte_de_baixades" name="Incloure_el_r
>ecompte_de_baixades"> 
104      Incloure el recompte de baixades
105    </h2>
106    <p>
107      Per a incloure el recompte de baixades en la sortida del fu
>ll de transformació XSLT, cal que afegim l'element XSLT <code>&lt 
>;value-of&gt;</code> a la plantilla del qual l'atribut de selecci 
>ó <code>select</code> conté una expressió XPath que apunta al nod 
>e que conté el recompte. 
108    </p>
109    <p>
110      L'XPath és un llenguatge per a identificar nodes en documen
>ts HTML/XML. També conté funcions bàsiques per a manipular aqueix 
>os nodes i llur contingut. La forma més fàcil d'obtenir una expre 
>ssió XPath que apunti al node en qüestió és utilitzar l'[<a class 
>="link-https" href="https://addons.mozilla.org/firefox/1095/">ext 
>ensió XPath Checker</a>. 
111    </p>
112    <p>
113      Instaŀleu l'extensió (reinicie el Firefox per a completar l
>a instaŀlació), a continuació aneu a la <a class="external" href= 
>"http://www.spreadfirefox.com/">pàgina d'inici d'Spread Firefox</ 
>a>, cerqueu el recompte de baixades del Firefox (un gran número a 
> sota de la columna dreta), cliqueu amb el botó secondari al núme 
>ro, i seleccioneu <cite>Visualitza l'XPath</cite> des del menú co 
>ntextual. 
114    </p>
115    <p>
116      L'XPath Checker obrirà una nova finestra. Aquesta inclourà 
>un camp d'XPath que conté l'expressió <cite>XPath</cite> que a pu 
>nta al node del recompte de baixades: <cite>id('download-count')< 
>/cite>. 
117    </p>
118    <p>
119      Afegeix un element <code>&lt;value-of&gt;</code> a l'elemen
>t XSLT <code>&lt;template&gt;</code>, el qual el seu atribut <cod 
>e>&lt;select&gt;</code> conté l'expressió XPath: 
120    </p>
121    <pre class="eval">
122&lt;?xml version="1.0" encoding="UTF-8"?&gt;
123&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
124          name="Recompte de baixades del Firefox"&gt;
125 &lt;template&gt;
126   &lt;transform xmlns="<a class=" external" href="http://www.w3.
>org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/XSL 
>/Transform</a>" version="1.0"&gt; 
127     &lt;output method="text"/&gt;
128     &lt;template match="/"&gt;
129       <b>&lt;value-of select="id('download-count')"/&gt;</b>
130     &lt;/template&gt;
131   &lt;/transform&gt;
132 &lt;/template&gt;
133&lt;/generator&gt;
134</pre>
135    <h2 id="Addici.C3.B3_d.27un_text" name="Addici.C3.B3_d.27un_t
>ext"> 
136      Addició d'un text
137    </h2>
138    <p>
139      Per a incloure l'etiqueta de baixades del Fx en el microsum
>ari, cal que afegim un element XSLT a l'element XSLT <code>&lt;te 
>mplate&gt;</code>, el contingut del qual és el text que volem afe 
>gir. 
140    </p>
141    <p>
142      Afegeix un element <code>&lt;text&gt;</code> a la plantilla
> XSLT amb el contingut de <cite>baixades del Firefox</cite>: 
143    </p>
144    <pre class="eval">
145&lt;?xml version="1.0" encoding="UTF-8"?&gt;
146&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
147          name="Recompte de baixades del Firefox"&gt;
148 &lt;template&gt;
149   &lt;transform xmlns="<a class=" external" href="http://www.w3.
>org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/XSL 
>/Transform</a>" version="1.0"&gt; 
150     &lt;output method="text"/&gt;
151     &lt;template match="/"&gt;
152       &lt;value-of select="id('download-count')"/&gt;
153       <b>&lt;text&gt;Baixades del Firefox&lt;/text&gt;</b>
154     &lt;/template&gt;
155   &lt;/transform&gt;
156 &lt;/template&gt;
157&lt;/generator&gt;
158</pre>
159    <p>
160      Tingueu en compte que l'espai en blanc entre les etiquetes 
>XSLT no apareix a la sortida de l'XSLT, a diferència de l'HTML, o 
>n aquell espai en blanc esdevé un espai simple. Per això, assegur 
>eu-vos llavors d'incloure un espai a la frase per a separar-la de 
>l recompte de baixades. 
161    </p>
162    <p>
163      Amb aquesta addició, hem acabat d'escriure el full de trans
>formació XSLT que permet crear un microsumari a partir de la pàgi 
>na d'inici de l'Spread Firefox. 
164    </p>
165    <h2 id="Especifar_en_quina_p.C3.A0gina_s.27aplica_el_generado
>r" name="Especifar_en_quina_p.C3.A0gina_s.27aplica_el_generador"> 
166      Especifar en quina pàgina s'aplica el generador
167    </h2>
168    <p>
169      Ara que ja hem escrit un full de transformació, hem d'espec
>ificar la pàgina on s'aplica. Si fóssim els webmestres d'Spread F 
>irefox, podríem simplement referenciar el generador dins de la ma 
>teixa pàgina afegint l'etiqueta <code>&lt;link rel="microsummary" 
>&gt;</code> dins de l'element <code>&lt;head&gt;</code>: 
170    </p>
171    <pre class="eval">
172&lt;head&gt;
173 ...
174 <b>&lt;link rel="microsummary" href="camí/al/nostre/generador.xm
>l"&gt;</b> 
175&lt;/head&gt;
176</pre>
177    <p>
178      Atès que no en som els webmestres, podem especificar la pàg
>ina on s'aplica dins del mateix generador i fer-lo disponible per 
>què pugui baixar-se i instaŀlar-se. Per a especificar les pàgines 
> on s'aplica el generador, utilitzem l'element <code>&lt;pages&gt 
>;</code> dins de l'element <code>&lt;generator&gt;</code>: 
179    </p>
180    <pre class="eval">
181&lt;?xml version="1.0" encoding="UTF-8"?&gt;
182&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" 
183          name="Recompte de baixades del Firefox"&gt;
184 &lt;template&gt;
185   &lt;transform xmlns="<a class=" external" href="http://www.w3.
>org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/XSL 
>/Transform</a>" version="1.0"&gt; 
186     &lt;output method="text"/&gt;
187     &lt;template match="/"&gt;
188       &lt;value-of select="id('download-count')"/&gt;
189       &lt;text&gt;Baixades del Firefox&lt;/text&gt;
190     &lt;/template&gt;
191   &lt;/transform&gt;
192 &lt;/template&gt;
193 <b>&lt;pages&gt;</b>
194 <b>&lt;/pages&gt;</b>
195&lt;/generator&gt;
196</pre>
197    <p>
198      L'element <code>&lt;pages&gt;</code> pot contenir una seqüè
>ncia d'elements <code>&lt;include&gt;</code> i <code>&lt;exclude& 
>gt;</code> que especifica les pàgines on el generador s'aplica i  
>no s'aplica, respectivament. 
199    </p>
200    <p>
201      Per a fer que un generador s'apliqui a una pàgina, afegiu u
>n element <code>&lt;include&gt;</code> el contingut del qual sigu 
>i una expressió regular que coincideixi amb la pàgina. Per a fer  
>que el generador no s'apliqui a una pàgina, afegiu un element <co 
>de>&lt;exclude&gt;</code> el contingut del qual sigui una express 
>ió regular que també coincideixi amb la pàgina. 
202    </p>
203    <p>
204      Per defecte, els generadors no s'apliquen a cap pàgina, per
> això heu de llistar-les explícitament a les pàgines on s'aplique 
>n, i no heu d'excloure cap pàgina excepte si les haguéssiu inclós 
> anteriorment. 
205    </p>
206    <p>
207      Afegiu un element <code>&lt;include&gt;</code> que coincide
>ixi amb la pàgina d'Spread Firefox: 
208    </p>
209    <pre class="eval">
210&lt;?xml version="1.0" encoding="UTF-8"?&gt;
211&lt;generator xmlns="<a class=" external" href="http://www.mozill
>a.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/m 
>icrosummaries/0.1</a>" name="Recompte de baixades del Firefox"&gt 
>; 
212 &lt;template&gt;
213   &lt;transform xmlns="<a class=" external" href="http://www.w3.
>org/1999/XSL/Transform" rel="freelink">http://www.w3.org/1999/XSL 
>/Transform</a>" version="1.0"&gt; 
214     &lt;output method="text"/&gt;
215     &lt;template match="/"&gt;
216       &lt;value-of select="id('download-count')"/&gt;
217       &lt;text&gt; Fx downloads&lt;/text&gt;
218     &lt;/template&gt;
219   &lt;/transform&gt;
220 &lt;/template&gt;
221 &lt;pages&gt;
222   <b>&lt;include&gt;<a class=" external" href="http://(www" rel=
>"freelink">http://(www</a>\.)?spreadfirefox\.com/(index\.php)?&lt 
>;/include&gt;</b> 
223 &lt;/pages&gt;
224&lt;/generator&gt;
225</pre>
226    <h2 id="Fer_el_generador_disponible_per_a_baixar-se" name="Fe
>r_el_generador_disponible_per_a_baixar-se"> 
227      Fer el generador disponible per a baixar-se
228    </h2>
229    <p>
230      Ara que el generador s'aplica a la pàgina d'inici de l'Spre
>ad Firefox, només queda fer-lo disponible per a ser descarregat.  
>Per a fer-ho, cal que el posem al web i creem un enllaç Javascrip 
>t en alguna pàgina web que faci una crida al mètode del Firefox < 
>cite>window.sidebar.addMicrosummaryGenerator()</cite> per a baixa 
>r i instaŀlar el generador. 
231    </p>
232    <p>
233      Per exemple, si posem el fitxer del generador a <a class=" 
>external" href="http://people.mozilla.com/~myk/microsummaries/tut 
>orial/sfx-generator.xml" rel="freelink">http://people.mozilla.com 
>/~myk/micro...-generator.xml</a>, i volguéssim que els usuaris po 
>guessin instaŀlar-lo de from <a class=" external" href="http://pe 
>ople.mozilla.com/~myk/microsummaries/tutorial/index.html" rel="fr 
>eelink">http://people.mozilla.com/~myk/micro...ial/index.html</a> 
>, podríem afegir el següent codi a la pàgina <cite>index.html</ci 
>te>: 
234    </p>
235    <pre class="eval">
236<b>&lt;a href="javascript:window.sidebar.addMicrosummaryGenerator
>('<span class="nowiki">http://people.mozilla.com/~myk/microsummar 
>ies/tutorial/sfx-generator.xml</span>')"&gt;Instaŀla el microsuma 
>ri de la pàgina d'inici de l'Spread Firefox!&lt;/a&gt;</b> 
237</pre>
238    <p>
239      En clicar aquest enllaç, es generarà un error de JavaScript
> en els navegadors que no permeten utilitzar microsumaris, no obs 
>tant això, per a millorar la navegació d'aqueixos usuaris, hauríe 
>m de comprovar si utilitzen un navegador que accepti microsumaris 
>, i per altra banda, mostrar un missatge explicatiu si no. Podem  
>fer-ho amb aquest codi: 
240    </p>
241    <pre class="eval">
242<b> &lt;script&gt;</b>
243<b>  const warning = "Us cal un navegador que permeti utilitzar m
>icrosumaris, com ara el Firefox 2.0, per a instaŀlar i utilitzar  
>generadors de microsumaris.";</b> 
244<b>  function addGenerator(url) {</b>
245<b>    if (typeof window.sidebar == "object" &amp;&amp;</b>
246<b>        typeof window.sidebar.addMicrosummaryGenerator == "fun
>ction")</b> 
247<b>      window.sidebar.addMicrosummaryGenerator(url);</b>
248<b>    else</b>
249<b>     alert(warning);</b>
250<b>  }</b>
251<b> &lt;/script&gt;</b>
252<b>&lt;a href="javascript:addGenerator('<span class="nowiki">http
>://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator. 
>xml</span>')"&gt;Instaŀla el microsumari de la pàgina d'inici de  
>l'Spread Firefox!&lt;/a&gt;</b> 
253</pre>
254    <h2 id="Conclusi.C3.B3" name="Conclusi.C3.B3">
255      Conclusió
256    </h2>
257    <p>
258      Ara ja hauríeu de tenir un generador de microsumaris que mo
>stri el recompte de baixades del Firefox quan l'instaŀleu. Afegiu 
> la pàgina d'inici de l'Spread Firefox a les adreces d'interès, i 
> seleccioneu-ne el microsumari del menú desplegable en el diàleg  
><cite>Afegeix a les adreces d'interès</cite>. 
259    </p>
260    <p>
261      Per a més informació, consulteu la <a class="external" href
>="http://wiki.mozilla.org/Microsummaries">pàgina d'inici dels mic 
>rosumaris</a> (en anglès). 
262    </p>{{ languages( { "en": "en/Creating_a_Microsummary", "fr":
> "fr/Cr\u00e9ation_d\'un_g\u00e9n\u00e9rateur_de_micror\u00e9sum\ 
>u00e9", "it": "it/Creare_un_Microsommario", "pl": "pl/Tworzenie_m 
>ikropodsumowania" } ) }} 

Back to History