[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problema fichero LE-receta.xls para Jaime E. Villate





David Charro Ripa escribió::

El jue, 19-09-2002 a las 13:57, Jaime E. Villate escribió:

Y si quieres que tu cambio de estilo se use también para las recetas una vez
publicadas en La Espiral, pues lo discutimos en esta lista y si se aprueba lo
cambiamos.

Carlos, ¿podrías mandar dos html para comparar el resultado visualmente
de una opción y otra?


Saludos

David


Mando los dos ficheros, el que termina con -original está generado con el LE-receta.xsl original y el que pone -cambiado está generado con el fichero xsl que adjunto.

Me falta por poner las claves en el fichero xml y bueno salí el jueves de viaje y por esto hasta hoy no he podido mandarlo. Siento la tardanza.

Ya me diréis que os parece.

Un saludo,

Carlitos.

<?xml version="1.0" encoding="iso-8859-1" ?>

<!-- Página de estilo para transformar documentos XML que usen
     LE-receta.dtd, en HTML.
     La Espiral <http://laespiral.org>

     autor: Jaime E. Villate <villate@fe.up.pt>
     versión: 1.0
     fecha: 22 de noviembre de 2000

     $Log: LE-receta.xsl,v $
     Revision 1.1  2001/07/17 11:07:41  villate
     Ficheros XML/XSL usados en La Espiral.

     Revision 1.2  2000/11/22 17:20:09  villate
     No pueden ir comentarios antes de la primera línea.

     Revision 1.1  2000/11/22 17:08:19  villate
     Página de estilo HTML para las recetas.

-->

<!DOCTYPE xsl:stylesheet [<!ENTITY nbsp "&#160;">]>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="html" encoding="iso-8859-1" doctype-public="//w3c//dtd html 4.0 transitional//en"/>

<xsl:template match="receta">
  <html>
  <head>
  <title>
  <xsl:text></xsl:text><xsl:value-of select="titulo"/>
  </title>
  </head>
  <body bgcolor="#ffffff">
  <div align="center">
  <xsl:apply-templates select="titulo"/>
  <br/>
  <xsl:for-each select="autor">
  <xsl:apply-templates/>.
  </xsl:for-each>
  <xsl:apply-templates select="fecha"/>
  <xsl:apply-templates select="version"/>
  </div>
  <table border="0" bgcolor="#cccccc" cellspacing="0">
  <xsl:apply-templates select="nivel"/>
  <xsl:apply-templates select="sistema"/>
  <xsl:apply-templates select="arquitectura"/>
  <xsl:apply-templates select="distribucion"/>
  <xsl:apply-templates select="seccion"/>
  <xsl:apply-templates select="funcion"/>
  </table>
  <xsl:apply-templates select="contenido"/>
  </body>
  </html>
</xsl:template>

<xsl:template match="nivel">
<tr><td><b>Nivel:</b></td><td><xsl:value-of select="@valor"/></td></tr>
</xsl:template>

<xsl:template match="sistema">
<tr><td><b>Sistema:</b></td><td><xsl:value-of select="@valor"/></td></tr>
</xsl:template>

<xsl:template match="arquitectura">
<tr><td><b>Arquitectura:</b></td><td><xsl:value-of select="@valor"/></td></tr>
</xsl:template>

<xsl:template match="distribucion">
<tr><td><b>Distribución:</b></td><td><xsl:value-of select="@valor"/></td></tr>
</xsl:template>

<xsl:template match="seccion">
<tr><td><b>Sección:</b></td><td><xsl:value-of select="@valor"/></td></tr>
</xsl:template>

<xsl:template match="funcion">
<tr><td><b>Función:</b></td><td><xsl:value-of select="@valor"/></td></tr>
</xsl:template>

<xsl:template match="secc1">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="secc1/titulo">
  <h2><xsl:apply-templates/></h2>
</xsl:template>

<xsl:template match="secc1/titulo" mode="crossref">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="secc1/titulo">
  <xsl:element name="h2">
  <xsl:choose>
  <xsl:when test="ancestor::secc1[@id]">
  <xsl:element name="a">
  <xsl:attribute name="name">
  <xsl:value-of select="ancestor::secc1/@id"/>
  </xsl:attribute>
  <xsl:apply-templates/>
  </xsl:element>
  </xsl:when>
  <xsl:otherwise>
  <xsl:apply-templates/>
  </xsl:otherwise>
  </xsl:choose>
  </xsl:element>
</xsl:template>

<xsl:template match="secc2">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="secc2/titulo">
  <xsl:element name="h3">
  <xsl:choose>
  <xsl:when test="ancestor::secc2[@id]">
  <xsl:element name="a">
  <xsl:attribute name="name">
  <xsl:value-of select="ancestor::secc2/@id"/>
  </xsl:attribute>
  <xsl:apply-templates/>
  </xsl:element>
  </xsl:when>
  <xsl:otherwise>
  <xsl:apply-templates/>
  </xsl:otherwise>
  </xsl:choose>
  </xsl:element>
</xsl:template>

<xsl:template match="secc2/titulo" mode="crossref">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="secc3">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="secc3/titulo">
  <xsl:element name="h4">
  <xsl:choose>
  <xsl:when test="ancestor::secc3[@id]">
  <xsl:element name="a">
  <xsl:attribute name="name">
  <xsl:value-of select="ancestor::secc3/@id"/>
  </xsl:attribute>
  <xsl:apply-templates/>
  </xsl:element>
  </xsl:when>
  <xsl:otherwise>
  <xsl:apply-templates/>
  </xsl:otherwise>
  </xsl:choose>
  </xsl:element>
</xsl:template>

<xsl:template match="secc3/title" mode="crossref">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="secc4">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="secc4/titulo">
  <xsl:element name="h5">
  <xsl:choose>
  <xsl:when test="ancestor::secc4[@id]">
  <xsl:element name="a">
  <xsl:attribute name="name">
  <xsl:value-of select="ancestor::secc4/@id"/>
  </xsl:attribute>
  <xsl:apply-templates/>
  </xsl:element>
  </xsl:when>
  <xsl:otherwise>
  <xsl:apply-templates/>
  </xsl:otherwise>
  </xsl:choose>
  </xsl:element>
</xsl:template>

<xsl:template match="secc4/title" mode="crossref">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="secc5">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="secc5/titulo">
  <xsl:element name="h5">
  <xsl:choose>
  <xsl:when test="ancestor::secc5[@id]">
  <xsl:element name="a">
  <xsl:attribute name="name">
  <xsl:value-of select="ancestor::secc5/@id"/>
  </xsl:attribute>
  <xsl:apply-templates/>
  </xsl:element>
  </xsl:when>
  <xsl:otherwise>
  <xsl:apply-templates/>
  </xsl:otherwise>
  </xsl:choose>
  </xsl:element>
</xsl:template>

<xsl:template match="secc5/titulo" mode="crossref">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="titulo">
<h1><xsl:apply-templates/></h1>
</xsl:template>

<xsl:template match="fecha">
<br/><br/><xsl:apply-templates/>
</xsl:template>

<xsl:template match="version">
  <br/><xsl:text>Versión </xsl:text><xsl:apply-templates/>
</xsl:template>

<xsl:template match="contenido">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="items">
  <ul>
  <xsl:apply-templates/>
  </ul>
</xsl:template>

<xsl:template match="secuencia">
  <ol>
  <xsl:apply-templates/>
  </ol>
</xsl:template>

<xsl:template match="glosario">
  <dl>
  <xsl:apply-templates/>
  </dl>
</xsl:template>

<xsl:template match="listado">
  <div align="center">
  <table width="90%" border="0" bgcolor="#cccccc">
  <tr><td><br/><br/><pre><xsl:apply-templates/></pre></td></tr>
  </table>
  </div>
</xsl:template>

<xsl:template match="glosario/termino">
  <dt>
  <b><xsl:apply-templates/></b>
  </dt>
</xsl:template>

<xsl:template match="glosario/definicion">
  <dd>
  <xsl:apply-templates/>
  </dd>
</xsl:template>

<xsl:template match="item">
  <li>
  <xsl:apply-templates/>
  </li>
</xsl:template>

<xsl:template match="para">
  <p>
  <xsl:apply-templates/>
  </p>
</xsl:template>

<xsl:template match="comillas">
  &quot;<xsl:apply-templates/>&quot;
</xsl:template>

<xsl:template match="comando">
  <b><xsl:apply-templates/></b>
</xsl:template>

<xsl:template match="enfasis">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="fichero">
  <i><xsl:apply-templates/></i>
</xsl:template>

<xsl:template match="paquete">
  <b><xsl:apply-templates/></b>
</xsl:template>

<xsl:template match="clave">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="literal">
  <pre><xsl:apply-templates/></pre>
</xsl:template>

<xsl:template match="literal2">
<pre><xsl:apply-templates/></pre>
</xsl:template>

<xsl:template match="nota">
  (<small><xsl:apply-templates/></small>)
</xsl:template>

<xsl:template match="enlace">
  <xsl:element name="a">
  <xsl:attribute name="href">
  <xsl:value-of select="./@url"/>
  </xsl:attribute>
  <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

<xsl:template match="figura">
  <br/><br/>
  <xsl:element name="div">
  <xsl:attribute name="align">
  <xsl:text>center</xsl:text>
  </xsl:attribute>
  <xsl:for-each select="grafica">
  <xsl:element name="img">
  <xsl:attribute name="src">
  <xsl:value-of select="@fichero"/>.<xsl:value-of select="@formato"/>
  </xsl:attribute>
  <xsl:attribute name="alt">
  <xsl:value-of select="@fichero"/>.<xsl:value-of select="@formato"/>
  </xsl:attribute>
  </xsl:element>
  </xsl:for-each>
  <br/><br/>
  <b>Fig. <xsl:value-of select="@etiqueta"/></b><xsl:apply-templates select="leyenda"/>
  </xsl:element>
  <br/><br/>
</xsl:template>

<xsl:template match="leyenda">
  <xsl:text>: </xsl:text><xsl:apply-templates/>
</xsl:template>

<xsl:template match="grafica">
  <xsl:element name="img">
  <xsl:attribute name="src">
  <xsl:value-of select="@fileref"/>.<xsl:value-of select="@format"/>
  </xsl:attribute>
  <xsl:attribute name="alt">
  <xsl:value-of select="@fileref"/>.<xsl:value-of select="@format"/>
  </xsl:attribute>
  </xsl:element>
</xsl:template>

<xsl:template match="ref">
  <xsl:variable name="id" select="@id"/>
  <xsl:element name="a">
  <xsl:attribute name="href">
  <xsl:text>#</xsl:text><xsl:value-of select="$id"/>
  </xsl:attribute>
  <xsl:apply-templates select="//*[@etiqueta=$id]/title"
			   mode="crossref"/>
  </xsl:element>
</xsl:template>

<xsl:template match="referencia">
  <p>
  <xsl:apply-templates/>
  </p>
</xsl:template>

<xsl:template match="lista">
  <table>
  <xsl:apply-templates/>
  </table>
</xsl:template>

<xsl:template match="elemento">
  <tr><td><xsl:apply-templates/></td></tr>
</xsl:template>

</xsl:stylesheet>
Title: Cómo instalar y configurar el Partimage-server

Cómo instalar y configurar el Partimage-server


Carlos J. Palmero Carmona.

16 de septiembre de 2002
Versión 0.1
Nivel: medio
Sistema: linux
Arquitectura: i386
Sección: red
Función: instalacion

Instalación

Para instalarlo simplemente lo seleccionamos con dselect o bien apt-get install partimage-server , tras lo cual sale en pantalla algo así como:

	?????????????????????? Configuring Partimage-server ??????????????????????
	?                                                                        ?
	? partimage-server necesita de un certificado de OpenSSL para funcionar  ?
	? correctamente.                                                         ?
	?                                                                        ?
	? ¿Desear crear el ceritificado SSL?                                     ?
	?                                                                        ?
	?                   Yes                      No                          ?
	?                                                                        ?
	??????????????????????????????????????????????????????????????????????????
	
Para desesperación de todos no funciona ni el Yes, ni el No, ni crea los certificados; y para colmo deja el paquete a medio poner con un hermoso mensaje de "paquete sin poner del todo". Aunque alguna vez saque alguna pantalla para generar los certificados, no conseguí que lo hiciera bien, así que ahora vamos a crear los certificados SSL para que funcone. Vamos manos a la obra. ( Nota: Los certificados SSL son para que los datos que viajan por la red vayan encriptados y nadie pueda sacar una copia de nuestra partición o disco duro sin más esfuerzo que ponerse a escuchar. )

Configuración

Nos situamos en el directorio cd /etc/partimaged y ejecutamos los siguientes comandos para crear los certificados: ((Nota: el orden es importante))

  • openssl req -new -x509 -outform PEM >partimaged.csr

En la pantalla sale:

	    writing new private key to 'privkey.pem'
	    Enter PEM pass phrase:
	

Aquí pones una contraseña de la que te acuerdes para generar el certificado. La pide dos veces y debes introducir la misma. Justo después te pide el país, que pondrémos ES (España). Luego el nombre de la provincia, en mi caso Madrid. Localidad, pues para mí Arganda del Rey. ¿Empresa? ACTSL. Luego departamento que es el Laboratorio, luego nuestro nombre y finalmente la dirección de correo. Quedando así: (NOTA: Si no quieres rellenar algún dato puedes poner un . (punto) para dejarlo en blanco.)

	    Country Name (2 letter code) [AU]:ES
	    State or Province Name (full name) [Some-State]:Madrid
	    Locality Name (eg, city) []:Arganda del Rey
	    Organization Name (eg, company) [Internet Widgits Pty Ltd]:ACTSL
	    Organizational Unit Name (eg, section) []:Laboratorio
	    Common Name (eg, YOUR name) []:Carlitos Palmero
	    Email Address []:soporte@actsl.com
	  

  • openssl rsa -in privkey.pem -out partimaged.key

De nuevo por pantalla nos pregunta la contraseña, introducimos la de antes.

	    read RSA key
	    Enter PEM pass phrase:
	    writing RSA key
	  

  • openssl x509 -in partimaged.csr -out partimaged.cert

Tranquilidad que en este paso no dice nada.

Bien pues se supone que ya está configurado el partimage-server pero a mí aún no me funcionó como debería. Nos falta cambiar los permisos de los ficheros que hemos creado porque si no, tendremos un bonito error si queremos arrancarlo con /etc/init.d/partimaged start:

	error when verifying /etc/partimaged/partimaged.cert, check logfile for help
	logfile is /var/log/partimage/partimaged.log
	if you don't have logfile, use partimaged --debug=1
      

Venga recordamos que tenemos que estar en cd /etc/partimaged y hacemos, como root, un simple:

  • chmod 0600 *

y voilà, ya podemos lanzarlo con /etc/init.d/partimaged start

Toque final

Vale, vale, diréis, pero si funciona, ¿qué dice este ahora? Fácil, aunque arranque el demonio a mí no me llegó a funcionar así que os propongo dos cosas, o bien editas el fichero /etc/init.d/partimaged y en la línea:



  case "$1" in
  start)
        echo -n "Starting $DESC as Daemon Mode: "
        start-stop-daemon --start --chuid partimag --exec $DAEMON -- $OPTS
        echo "$NAME."
        ;;
  stop)
      

por:



 case "$1" in
  start)
        echo -n "Starting $DESC as Daemon Mode: "
        # Comentamos la linea de abajo para hacer un apaño
        #start-stop-daemon --start --chuid partimag --exec $DAEMON -- $OPTS
        partimaged $OPTS
        echo "$NAME."
        ;;
  stop)

O bien quitáis el partimage-server del arranque (init.d) con update-rc.d -f partimaged remove y lo lanzáis cuando queráis con partimaged -D siendo root, evidentemente.

Espero que os haya gustado. Se admite cualquier comentario y ¡hasta la próxima!

Title: Cómo instalar y configurar el Partimage-server

Cómo instalar y configurar el Partimage-server


Carlos J. Palmero Carmona.

16 de septiembre de 2002
Versión 0.1
Nivel: medio
Sistema: linux
Arquitectura: i386
Sección: red
Función: instalacion

Instalación

Para instalarlo simplemente lo seleccionamos con dselect o bien apt-get install partimage-server , tras lo cual sale en pantalla algo así como: ?????????????????????? Configuring Partimage-server ?????????????????????? ? ? ? partimage-server necesita de un certificado de OpenSSL para funcionar ? ? correctamente. ? ? ? ? ¿Desear crear el ceritificado SSL? ? ? ? ? Yes No ? ? ? ?????????????????????????????????????????????????????????????????????????? Para desesperación de todos no funciona ni el Yes, ni el No, ni crea los certificados; y para colmo deja el paquete a medio poner con un hermoso mensaje de "paquete sin poner del todo". Aunque alguna vez saque alguna pantalla para generar los certificados, no conseguí que lo hiciera bien, así que ahora vamos a crear los certificados SSL para que funcone. Vamos manos a la obra. ( Nota: Los certificados SSL son para que los datos que viajan por la red vayan encriptados y nadie pueda sacar una copia de nuestra partición o disco duro sin más esfuerzo que ponerse a escuchar. )

Configuración

Nos situamos en el directorio cd /etc/partimaged y ejecutamos los siguientes comandos para crear los certificados: ((Nota: el orden es importante))

  • openssl req -new -x509 -outform PEM >partimaged.csr

En la pantalla sale:

writing new private key to 'privkey.pem' Enter PEM pass phrase:

Aquí pones una contraseña de la que te acuerdes para generar el certificado. La pide dos veces y debes introducir la misma. Justo después te pide el país, que pondrémos ES (España). Luego el nombre de la provincia, en mi caso Madrid. Localidad, pues para mí Arganda del Rey. ¿Empresa? ACTSL. Luego departamento que es el Laboratorio, luego nuestro nombre y finalmente la dirección de correo. Quedando así: (NOTA: Si no quieres rellenar algún dato puedes poner un . (punto) para dejarlo en blanco.)

Country Name (2 letter code) [AU]:ES State or Province Name (full name) [Some-State]:Madrid Locality Name (eg, city) []:Arganda del Rey Organization Name (eg, company) [Internet Widgits Pty Ltd]:ACTSL Organizational Unit Name (eg, section) []:Laboratorio Common Name (eg, YOUR name) []:Carlitos Palmero Email Address []:soporte@actsl.com

  • openssl rsa -in privkey.pem -out partimaged.key

De nuevo por pantalla nos pregunta la contraseña, introducimos la de antes. read RSA key Enter PEM pass phrase: writing RSA key

  • openssl x509 -in partimaged.csr -out partimaged.cert

Tranquilidad que en este paso no dice nada.

Bien pues se supone que ya está configurado el partimage-server pero a mí aún no me funcionó como debería. Nos falta cambiar los permisos de los ficheros que hemos creado porque si no, tendremos un bonito error si queremos arrancarlo con /etc/init.d/partimaged start: error when verifying /etc/partimaged/partimaged.cert, check logfile for help logfile is /var/log/partimage/partimaged.log if you don't have logfile, use partimaged --debug=1

Venga recordamos que tenemos que estar en cd /etc/partimaged y hacemos, como root, un simple:

  • chmod 0600 *

y voilà, ya podemos lanzarlo con /etc/init.d/partimaged start

Toque final

Vale, vale, diréis, pero si funciona, ¿qué dice este ahora? Fácil, aunque arranque el demonio a mí no me llegó a funcionar así que os propongo dos cosas, o bien editas el fichero /etc/init.d/partimaged y en la línea:



  case "$1" in
  start)
        echo -n "Starting $DESC as Daemon Mode: "
        start-stop-daemon --start --chuid partimag --exec $DAEMON -- $OPTS
        echo "$NAME."
        ;;
  stop)
      

por:



 case "$1" in
  start)
        echo -n "Starting $DESC as Daemon Mode: "
        # Comentamos la linea de abajo para hacer un apaño
        #start-stop-daemon --start --chuid partimag --exec $DAEMON -- $OPTS
        partimaged $OPTS
        echo "$NAME."
        ;;
  stop)

O bien quitáis el partimage-server del arranque (init.d) con update-rc.d -f partimaged remove y lo lanzáis cuando queráis con partimaged -D siendo root, evidentemente.

Espero que os haya gustado. Se admite cualquier comentario y ¡hasta la próxima!


Reply to: