diff options
Diffstat (limited to 'files/es/como_crear_un_microresumen/index.html')
-rw-r--r-- | files/es/como_crear_un_microresumen/index.html | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/files/es/como_crear_un_microresumen/index.html b/files/es/como_crear_un_microresumen/index.html new file mode 100644 index 0000000000..0ff12e5cdc --- /dev/null +++ b/files/es/como_crear_un_microresumen/index.html @@ -0,0 +1,175 @@ +--- +title: Como crear un Microresumen +slug: Como_crear_un_Microresumen +tags: + - Microresúmenes +translation_of: Archive/Mozilla/Creating_a_microsummary +--- +<p>Un <em>generador de microresúmenes</em> es un conjunto de instrucciones orientadas a crear un microresumen del contenido de una página. Una página web puede referenciar los generadores correspondientes mediante el uso de etiquetas <code><link rel="microsummary"></code> en la sección <code><head></code>. O también se pueden descargar e instalar independientemente, por iniciativa del usuario, si cada generador incluye una lista de páginas a las que sea aplicable.</p> +<p>En este tutorial vamos a crear un generador de microresumen para la <a class="external" href="http://www.spreadfirefox.com/">página inicio de Spread Firefox</a> que se encargue de mostrar el número actual de descargas, junto al texto "<cite>descargas de Fx</cite>". Por ejemplo: <cite>174475447 descargas de Fx</cite>.</p> +<p>Para ello, ante todo, construiremos la hoja XSLT de transformación que convierte la página web en un microresumen; luego veremos cómo especificar que el generador sea aplicable a esa página, y por último aprenderemos cómo publicar el generador para su descarga e instalación.</p> +<p>Durante la construcción de la hoja XSLT, lo que se añade en cada paso se muestra en <em>negrita</em>, para facilitar el seguimiento del proceso.</p> +<h2 id="Comienzo" name="Comienzo">Comienzo</h2> +<p>Un generador se expresa como un documento XML cuyo nodo raíz es <code><generator></code> (en el namespace <cite><a class="external" href="http://www.mozilla.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/microsummaries/0.1</a></cite>). Para construir un generador, hay que empezar por crear un fichero de texto vacío y añadir la declaración XML y un nodo <code><generator></code> vacío:</p> +<pre class="eval"><strong><?xml version="1.0" encoding="ISO-8859-1"?></strong> +<strong><generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"></strong> +<strong></generator></strong> +</pre> +<h2 id="Poner_nombres" name="Poner_nombres">Poner nombres</h2> +<p>Un generador debe tener atributos <code>name</code> con las descripciones arbitrarias de los microresúmenes creados. Un nombre debe ser lo bastante descriptivo para dar al usuario final una idea fiel de la información incluida en el microresumen.</p> +<p>Dado que nuestro generador va a crear microresúmenes que muestran el número de descargas de Firefox, le llamaremos "Conteo de descargas de Firefox":</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + <strong>name="Conteo de descargas de Firefox"</strong>> +</generator> +</pre> +<h2 id="Incluir_una_hoja_XSLT_de_transformaci.C3.B3n" name="Incluir_una_hoja_XSLT_de_transformaci.C3.B3n">Incluir una hoja XSLT de transformación</h2> +<p>Cada generador debe incluir una hoja XSLT de transformación (también llamadas <em>hojas de estilo XSLT</em>) que transforme el contenido de la página en un microresumen. XSLT es un potente lenguaje para transformar documentos: Sirve para producir diversas presentaciones de la misma información.</p> +<p>Para incluir la hoja XSLT en el generador hay que usar un elemento <code><template></code>:</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Conteo de descargas de Firefox"> + <strong><template></strong> + <strong><transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"></strong> + <strong></transform></strong> + <strong></template></strong> +</generator> +</pre> +<p>Obsérvese que aunque el generador puede incluir código XSLT arbitrario (inclusive generación de <em>texto enriquecido</em>), por el momento Firefox sólo muestra el <em>texto plano</em> de la salida XSLT.</p> +<h2 id="Especificar_el_formato_de_salida" name="Especificar_el_formato_de_salida">Especificar el formato de salida</h2> +<p>Dado que la hoja XSLT va a generar un microresumen en formato <em>texto plano</em>, hay que indicarlo usando la etiqueta XSLT <code><output></code>:</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Conteo de descargas de Firefox"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <strong><output method="text"/></strong> + </transform> + </template> +</generator> +</pre> +<h2 id="Usar_un_s.C3.B3lo_nodo_.3Ctemplate.3E_en_la_hoja_XSLT" name="Usar_un_s.C3.B3lo_nodo_.3Ctemplate.3E_en_la_hoja_XSLT">Usar un sólo nodo <code><template></code> en la hoja XSLT</h2> +<p>El procesador XSLT (incluido en el navegador) transforma los documentos buscando en la hoja XSLT el nodo <code><template></code> que mejor se adapte a cada nodo del documento procesado. Cuando lo encuentra, realiza en el nodo procesado las transformaciones incluidas en el <code><template></code> elegido.</p> +<p>Este mecanismo es bastante potente, pues permite recorrer el árbol entero del documento procesado y generar salida (recursivamente) basándose en la estructura del documento. sin embargo, para la finalidad de generar un microresumen para la página <a class="external" href="http://www.spreadfirefox.com">Spread Firefox</a>, se necesita <em>tan sólo un</em> nodo <code><template></code> que referencie el nodo raíz del documento (<code>/</code>) y lo procese de una sóla vez:</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Conteo de descargas de Firefox"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <strong><template match="/"></strong> + <strong></template></strong> + </transform> + </template> +</generator> +</pre> +<h2 id="Incluir_el_conteo_de_descargas" name="Incluir_el_conteo_de_descargas">Incluir el conteo de descargas</h2> +<p>Para incluir el conteo de descargas en la salida de la hoja XSLT, hay que usar la etiqueta XSLT <code><value-of></code>, especificando en el atributo <code>select</code> una ruta XPATH que apunte al nodo que contiene el conteo.</p> +<p>XPATH es un lenguage de identificación de nodos en documentos XML/HTML. También contiene algunas funciones básicas para manipular los nodos y sus contenidos. La forma más sencilla de formular una expresión XPATH que apunte al nodo en cuestión es usando la <a class="link-https" href="https://addons.mozilla.org/firefox/1095/">Extensión de chequeo de XPATH</a>, de esta manera:</p> +<ol> + <li>Instalar la extensión de chequeo de XPATH (si no está ya instalada), reiniciando después Firefox para completar la instalación.</li> + <li>Visitar la página <a class="external" href="http://www.spreadfirefox.com/">Spread Firefox</a>.</li> + <li>Buscar el conteo de descargas (a fecha actual está casi abajo del todo, a la derecha, bajo el título "Firefox downloads").</li> + <li>Pulsar con el botón derecho sobre el número.</li> + <li>Y seleccionar <cite>View XPath</cite> en el menú contextual.</li> +</ol> +<p>El chequeador de XPATH abre entonces una nueva ventana con un campo <cite>XPath</cite> que contiene la ruta XPATH que apunta al nodo seleccionado, y que a la fecha de hoy es: <cite>id('download-count')</cite>.</p> +<p>Bien, pues basta con añadir a nuestro <code><template></code> una etiqueta <code><value-of></code> con un atributo <code>select</code> con la ruta XPATH encontrada:</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Conteo de descargas de Firefox"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <strong><value-of select="id('download-count')"/></strong> + </template> + </transform> + </template> +</generator> +</pre> +<h2 id="Incluir_texto" name="Incluir_texto">Incluir texto</h2> +<p>Para incluir en el microresumen el texto "<cite>Descargas de Fx</cite>", hay que usar una etiqueta XSLT <code><text></code> que contenga el texto deseado.</p> +<p>Añadir al <code><template></code> un nodo <code><text></code> que contenga el texto "<cite>Descargas de Fx</cite>":</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Conteo de descargas de Firefox"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <value-of select="id('download-count')"/> + <strong><text>Descargas de Fx</text></strong> + </template> + </transform> + </template> +</generator> +</pre> +<p>Obsérvese que el espacio blanco (espacios, tabuladores, saltos de línea) entre etiquetas XSLT <em>no se transmite</em> a la salida de la transformación XSLT (al contrario que en HTML, en que todo el espacio blanco adyacente se traduce a un sólo espacio), así es que si se desea que aparezca algún espacio en blanco, para que el texto quede separado del conteo, hay que incluirlo dentro de la etiqueta <code><text></code>.</p> +<p>Y con esta pequeña adición, ya hemos terminado de escribir la hoja de transformación XSLT necesaria para convertir la página de inicio de Spread Firefox en un microresumen.</p> +<h2 id="Especificar_la_p.C3.A1gina_de_aplicaci.C3.B3n_del_microresumen" name="Especificar_la_p.C3.A1gina_de_aplicaci.C3.B3n_del_microresumen">Especificar la página de aplicación del microresumen</h2> +<p>Una vez completa la hoja de transformación, hay que especificar <em>a qué página</em> se aplica. Si fuéramos los administradores del sitio <a class="external" href="http://www.spreadfirefox.com">Srpead Firefox</a>, nos bastaría con editar la página inicial e incluir en la sección <code>head</code> una etiqueta <code><link></code> para referenciar a nuestro generador:</p> +<pre class="eval"><head> + ... + <strong><link rel="microsummary" href="ruta/de/nuestro/generador.xml"></strong> +</head> +</pre> +<p>Pero como no somos administradores de ese sitio web, tenemos que especificar la página de aplicación <em>dentro del propio generador</em>, y luego publicarlo para que se pueda descargar e instalar. Para especificar la página de aplicación hay que usar una etiqueta <code><pages></code> dentro del nodo <code><generator></code>:</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" + name="Conteo de descargas de Firefox"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <value-of select="id('download-count')"/> + <text> descargas de Fx</text> + </template> + </transform> + </template> + <strong><pages></strong> + <strong></pages></strong> +</generator> +</pre> +<p>La etiqueta <code><pages></code> puede contener tantos nodos <code><include></code> y <code><exclude></code> como páginas a las cuales el generador se puede aplicar o no, respectivamente.</p> +<p>Para permitir que el generador se pueda aplicar a una página, hay que añadir un nodo <code><include></code> cuyo contenido sea una expresión regular que defina las páginas deseadas. Y para impedir que el generador se pueda aplicar a una página, hay que añadir un nodo <code><exclude></code> con una expresión regular que defina las páginas no deseadas.</p> +<p>El comportamiento por defecto de un generador es que <em>no es aplicable</em> a ninguna página, de modo que hay que listar explícitamente las páginas deseadas, y no es necesario listar las páginas no deseadas (a menos que se hayan incluido previamente).</p> +<p>Añadamos, pues, una etiqueta <code><include></code> para referenciar la página de <a class="external" href="http://www.spreadfirefox.com">Spread Firefox</a>:</p> +<pre class="eval"><?xml version="1.0" encoding="ISO-8859-1"?> +<generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" name="Conteo de descargas de Firefox"> + <template> + <transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"> + <output method="text"/> + <template match="/"> + <value-of select="id('download-count')"/> + <text> descargas de Fx</text> + </template> + </transform> + </template> + <pages> + <strong><include><span class="nowiki">http://(www\.)?spreadfirefox\.com/(index\.php)?</span></include></strong> + </pages> +</generator> +</pre> +<p>Nótese que la dirección incluida ha de estar escrita como <em>expresión regular</em>.</p> +<h2 id="Publicar_el_generador_para_ser_descargado" name="Publicar_el_generador_para_ser_descargado">Publicar el generador para ser descargado</h2> +<p>Ahora que el generador está definido y tiene una dirección de aplicación especificada, lo único que queda por hacer es publicarlo para su descarga: Para ello, hay que subirlo a la web y crear en algún lado un enlace de JavaScript que llame al método de FireFox <cite>window.sidebar.addMicrosummaryGenerator()</cite>, que se encarga de descargar e instalar el generador.</p> +<p>Por ejemplo: Si publicamos el generador en la web en <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml" rel="freelink">http://people.mozilla.com/~myk/micro...-generator.xml</a>, y queremos que los usuarios lo puedan descargar desde <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/index.html" rel="freelink">http://people.mozilla.com/~myk/micro...ial/index.html</a>, tendremos que añadir el siguiente código a dicha página <cite>index.html</cite>:</p> +<pre class="eval"><strong><a href="javascript:window.sidebar.addMicrosummaryGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')">Instalar el microresumen de Spread Firefox</a></strong> +</pre> +<p>Al pinchar en tal link se producirá un error JavaScript en los navegadores que no soporten microresúmenes, así es que para evitarlo lo mejor es comprobar <em>a priori</em> si el navegador actual soporta microresúmenes, y mostrar un mensaje aclaratorio en caso contrario:</p> +<pre class="eval"><strong><script></strong> +<strong> const warning = "Se siente: Para descargar e instalar generadores de microresúmenes se necesita un navegador ad hoc, como Firefox 2.0.";</strong> +<strong> function addGenerator(url) {</strong> +<strong> if (typeof window.sidebar == "object" &&</strong> +<strong> typeof window.sidebar.addMicrosummaryGenerator == "function")</strong> +<strong> window.sidebar.addMicrosummaryGenerator(url);</strong> +<strong> else</strong> +<strong> alert(warning);</strong> +<strong> }</strong> +<strong></script></strong> +<strong><a href="javascript:window.sidebar.addMicrosummaryGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')">Instalar el microresumen de Spread Firefox</a></strong> +</pre> +<h2 id="Conclusi.C3.B3n" name="Conclusi.C3.B3n">Conclusión</h2> +<p>Ya debemos tener un generador de microresúmenes que muestra el nùmero actual de descargas de Firefox. Tras instalarlo, añadir a los Marcadores la página <a class="external" href="http://www.spreadfirefox.com">Spread Firefox</a>, y seleccionar el microresumen del menú <cite>Summary</cite> en el cuadro de diálogo de "Añadir marcador".</p> +<p>Para más información sobre microresúmenes, ver la <a class="external" href="http://wiki.mozilla.org/Microsummaries">página de Microresúmenes</a></p> |