Formateo de XML
Imparte: Lorenzo Gil Sánchez. Fecha: 27 de Marzo de 2003
| lgs | bueno, pues vamos a ir empezando y el que llegue tarde que vaya leyendo mas rapido, ok? |
|---|---|
| --> NinaNutz (mariajo@gate6172.ugr.es) has joined #gcubo | |
| bitland | eso, y si no mañana o pasado en el log |
| --- malglam_cena is now known as malglam | |
| --- lgs sets mode +m #gcubo | |
| --- ChanServ gives channel operator status to malglam | |
| lgs | pues entonces empezamos |
| bitland | hola NinaNutz, malglam, ya era hora :D |
| --- bitland removes voice from enla_cenad | |
| --- bitland removes voice from NeoSNK | |
| --- bitland removes voice from NinaNutz | |
| --- bitland removes voice from PummelCena | |
| --- bitland removes voice from SIaughter | |
| malglam | ya nos hemos vitaminado y mineralizado |
| --- bitland removes voice from tgz | |
| lgs | como ya nos conocemos sobran las presentaciones, asi que me dispongo a empezar con la charla que habia programada para hoy |
| lgs | como todos sabeis hoy vamos a hablar del formateo de xml |
| lgs | Hoy seguimos con el tema de XML viendo que a mucha gente puede interesarle |
| lgs | La semana pasada y tras la estupenda charla de Carmen muchos de vosotros no teniais muy claro para qué sirve el XML |
| lgs | Hoy vamos a centrarnos en una utilidad muy práctica de XML: |
| lgs | Escribir documentos, ya sean artículos simples, libros o lo que sea. |
| --> JABcomics (~JANDERMAN@cliente-217216130200.cm128.grnpa.supercable.es) has joined #gcubo | |
| --- bitland removes voice from JABcomics | |
| lgs | En la segunda parte de la charla explicaremos una técnicas para convertir nuestros documentos XML a un formato más legible como Postcript, pdf, html o simplemente txt. |
| lgs | Como ya explicó Carmen cuando escribimos un documento XML lo más usual es utilizar un dtd para que nuestro documento siga unas reglas determinadas. |
| lgs | Perdon, se me olvidaba decir que las preguntas se las haceis a bitland |
| lgs | y podeis hacerlas cuando querais, no solo al final |
| lgs | sigo |
| lgs | En nuestro caso de hoy vamos a usar Docbook por ser el DTD más popular para escribir documentación. |
| lgs | Docbook en realidad es un DTD para el lenguaje SGML, que es el padre de XML. |
| bitland | ¿nos puedes recordar rápidamente que era un dtd? |
| lgs | Pero para no liaros mucho simplemente os diré que vamos a usar la versión para XML de Docbook. |
| lgs | ok bitland, un dtd es un document type definition, es decir, |
| lgs | un conjunto de reglas que especifican cuando un documento xml es válido |
| lgs | una cosa es que el documento xml siga las reglas sintácticas de xml (entonces decimos que es bien formado) |
| lgs | y otra cosa es que además de eso cumpla las reglas que le dice el dtd, entonces es válido |
| lgs | os recuerdo que para usar xml no hace falta usar dtds |
| lgs | pero es bastante recomendable |
| lgs | sigo con la charla y poco a poco se te aclararan las cosas bitland |
| lgs | Pero para no liaros mucho simplemente os diré que vamos a usar la versión para XML de Docbook. |
| lgs | Pues ya sabeis, a instalar ese paquete: |
| lgs | apt-get install docbook-xml |
| lgs | (Siento ser tan debian-centrista y prometo que a partir de mi próxima charla los ejemplos estarán también para RedHat al menos) |
| lgs | A continuación vamos a prepararnos para editar un documento XML con nuestro editor favorito, que por supuesto es Emacs :) |
| lgs | Para ello instalaremos un módulo para Emacs para editar XML con comodidad y tamién un parser de xml para validar nuestros documentos: |
| lgs | apt-get install psgml sp |
| lgs | Ahora abrimos el Emacs y empezamos a editar nuestro documento. |
| lgs | En la primera linea ponemos: |
| lgs | <?xml version="1.0" encoding="iso-8859-1"?> |
| lgs | para indicarle que vamos a escribir un documento xml que pueda tener tildes, eñes y esas cosas que nos gustan a los españoles. |
| lgs | A continuación le decimos qué DTD vamos a usar: |
| lgs | <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbook/dtd/xml/4.1.2/docbookx.dtd"> |
| lgs | Con ese chorizo le estamos diciendo el dtd que vamos a usar y además estamos especificando que vamos a escribir un artículo. |
| lgs | Con ese DTD también podemos poner book en lugar de article si vamos a escribir un libro. |
| lgs | Para empezar nos sobra con el article porque el mecanismo para usarlo es el mismo que para el book, pero como hay menos marcas es más sencillo. |
| lgs | Concretamente el archivo docbookx.dtd define una serie de normas que servirán para saber si nuestro documento está bien escrito o no |
| lgs | por ejemplo, no se pueden escribir párrafos dentro de los títulos de las secciones, pero sí dentro de las propias secciones |
| lgs | A partir de aqui es cuando empieza la magia de Emacs y del módulo psgml. |
| lgs | Si pulsamos C-c C-e en el minibuffer nos sale la palabra article indicandonos que es la única marca posible por ahora. Le damos a enter y él sólo nos pone la marca. |
| lgs | Asi pues, con C-c C-e nos dice que marcas podemos poner. |
| --> nauj27 (~nauj27@245.Red-80-36-17.pooles.rima-tde.net) has joined #gcubo | |
| --- ChanServ gives channel operator status to nauj27 | |
| nauj27 | wenas |
| lgs | No os podeis hacer una idea de hasta qué punto es útil esta chorrada. Te ahorra muchísimo tiempo mirando la documentación de Docbook para ver que cosas pueden ir dentro de otras al estilo de preguntas como: |
| --- lgs removes channel operator status from nauj27 | |
| --- ChanServ gives channel operator status to nauj27 | |
| --- nauj27 removes channel operator status from nauj27 | |
| lgs | ¿Puedo meter una imágen dentro de un párrafo? ¿Puedo meter un apéndice en un artículo o sólo en los libros? y cosas por el estilo. |
| lgs | Otra cosa útil es C-c + para añadir un atributo sobre la marca actual. |
| lgs | Con C-c / cerramos la marca que tengamos abierta en ese momento. |
| lgs | Cuando llevamos escribiendo un rato es útil poder comprobar si nuestro documento es válido podemos utilizar la utilidad de Emacs para que el parser del paquete sp (nsgmls) nos valide el documento: |
| lgs | C-c C-v y luego pulsamos enter para que se ejecute el comando nsgmls |
| lgs | que es el parser que valida nuestro documento |
| lgs | Por cierto, antes de que se me olvide, en http://www.gcubo.org/modules.php?name=Content&pa=showpage&pid=16 teneis unos cuantos documentos XML |
| lgs | Podeis descargaroslos y juguetear con ellos. |
| lgs | Hasta aqui es todo lo que necesitais para escribir documentos xml con docbook de manera fácil y cómoda |
| lgs | el resto son horas de práctica |
| lgs | Una documentación muy buena para aprender las marcas más útiles de Docbook es la guía de documentación de FreeBSD |
| lgs | Aqui teneis el enlace http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/x1384.html |
| lgs | Por supuesto no cubre Docbook al 100% pero en el 99% de vuestras necesidades ese documento os servirá (a mi me ha servido :) |
| lgs | A partir de ahora voy a suponer que el documento con el que estamos trabajando se va a llamar 'midocumento.xml' |
| lgs | tras esta introducción empieza el verdadero objetivo de la charla que es aprender a manipular ese documento |
| lgs | para obtener cosas útiles |
| bitland | *NeoSNK* esto puede servir de referencia para lo del docbook |
| bitland | *NeoSNK* http://es.tldp.org/Tutoriales/DOCBOOK/multiple-html/ |
| lgs | muchas gracias NeoSNK |
| lgs | hay muchisima documentación de docbook porque es el dtd más usado en documentación técnica |
| lgs | sigo |
| lgs | Ya que sabemos cómo editar documentos de forma fácil y rápida vamos a proceder a convertirlos en formatos más útiles. |
| lgs | La primera forma de hacerlo será usando las hojas de estilo DSSSL |
| lgs | Para los curiosos las siglas significan Document Style Semantics and Specificacion Language, pero eso a nosotros no nos dice mucho. |
| lgs | Lo que si tenemos que hacer es instalar las hojas de estilo para docbook y unos cuantos programas para manejarlas: |
| lgs | apt-get install docbook-dsssl jade jadetex lynx make |
| lgs | Y ahora ya nos ponemos manos a la obra, lo primero será convertilo a latex: |
| lgs | jade -t tex -V tex-backend -d /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/print/docbook.dsl /usr/lib/sgml/declaration/xml.dcl midocumento.xml |
| lgs | no os asusteis, ese comando convierte nuestro documento xml en un archivo llamado midocumento.tex |
| lgs | Una vez que lo tenemos en latex lo pasamos a dvi: |
| lgs | jadetex midocumento.tex |
| lgs | esta vez es más fácil |
| lgs | eso lo que ha hecho es generar el archivo midocumento.dvi |
| lgs | Y ahora podemos obtener salidas en postcript o pdf de la siguiente manera: |
| lgs | dvips -f midocumento.dvi > midocumento.ps |
| lgs | dvipdf -f midocumento.dvi > midocumento.pdf |
| lgs | Fácil, ¿no? |
| lgs | Ahora vamos a obtener la salida en html: |
| lgs | jade -t sgml -d /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl /usr/lib/sgml/declaration/xml.dcl midocumento.xml |
| lgs | otro chorizo que nos genera un conjunto de páginas html |
| lgs | Y también lo haremos en txt: |
| lgs | jade -t sgml -V nochunks -d /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl /usr/lib/sgml/declaration/xml.dcl midocumento.xml > dump.html |
| lgs | lynx --force_html -dump dump.html > midocumento.txt |
| lgs | rm -f dump.html |
| lgs | vamos por partes, el primer comando es como el de la generación en html |
| lgs | pero esta vez lo mete todo en un sólo html |
| lgs | después usamos el navegador en modo texto lynx para convertir eso en texto |
| lgs | y por último borramos el archivo auxiliar dump.html que nos ha servido en el paso intermedio |
| lgs | Yo lo que suelo hacer es poner todos esos comandos en un script o en una Makefile |
| lgs | y asi no me tengo que saber toda esa sintaxis tan molesta |
| lgs | Bueno como veis hemos obtenido 7 formatos por el precio de 1. Ahora ya os va pareciendo más útil el xml, ¿no? |
| lgs | Hemos obtenido xml, latex, dvi, ps, pdf, txt y html |
| lgs | Pero hay otra ventaja todavía mejor y es que mientras escribimos un documento nos estamos centrando en el contenido y nos olvidamos de la forma. |
| lgs | Esto suena a topico pero es realmente muy productivo. |
| lgs | Como habréis adivinado, si el contenido esta en vuestro documento xml, la forma está en las hojas de estilo dsssl. |
| lgs | que son los chorizos esos tan largos que se le pasan como parámetros al comando jade |
| lgs | que no es más que un procesador de hojas de estilo dsssl |
| bitland | la pregunta de siempre, ¿no hay editores wysiwyg para todo ésto? |
| lgs | veamos bitland, hay editores muy cómodos para editar xml |
| --> asd (~asd@227.Red-80-34-11.pooles.rima-tde.net) has joined #gcubo | |
| lgs | que lo que van haciendo es ir diciendote que marcas puedes ir poniendo en cada momento |
| --- bitland removes voice from asd | |
| lgs | pero si lo que quieres es que se vaya viendo tu resultado en plan word |
| lgs | o como hace el lyx |
| lgs | yo no conozco ninguno |
| lgs | pero es que la segunda ventaja se perdería un poco |
| lgs | porque ya estariamos más pendiente de la forma que del contenido |
| <-- asd has quit (Client Quit) | |
| lgs | que es lo que tratamos evitar |
| bitland | *NeoSNK* si hay editores visuales, el Abiword (por ejemplo es un editor que guarda en formato dbk -docbook-, y su formato original creo que también es XML |
| lgs | de acuerdo NeoSNK, pero con Abiword |
| lgs | no se puede explotar toda la potencia de Docbook |
| lgs | porque no permite usar todas las posibles marcas que tiene el lenguaje |
| lgs | Ahora viene la pregunta del millón: |
| lgs | ¿Qué pasa si no me gusta como quedan mis documentos? ¿Se puede cambiar la forma? ¿Es dificil? |
| --- malglam gives channel operator status to PummelCena | |
| --- PummelCena is now known as Pummel | |
| --- malglam removes channel operator status from Pummel | |
| lgs | Pues evidentemente se puede cambiar la forma, y aunque hacer una hoja de estilo para docbook no es nada fácil, cambiar determinados parámetros de las que vienen en el paquete docbook-dsssl es bastante asequible. |
| lgs | Veamos un ejemplo fácil: |
| lgs | Supongamos que queremos darle más margen por la izquierda a nuestras salidas en postcript y pdf. |
| lgs | Tenemos que crear una pequeña hoja de estilo con esa información y utilizarla cuando usemos jade. |
| lgs | Jade usará la hoja de estilo general y la nuestra y nuestra definición del márgen tendrá prioridad sobre la hoja de estilo general. Veamos cómo. |
| lgs | Creamos el archivo mihoja.dsl y debe contener lo siguiente: |
| lgs | <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ |
| lgs | <!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA dsssl> |
| lgs | ]> |
| lgs | <style-sheet> |
| lgs | <style-specification id="print" use="docbook"> |
| lgs | <style-specification-body> |
| lgs | (define %left-margin% |
| lgs | ;; Ancho del margen izquierdo |
| lgs | 4.5cm) |
| lgs | </style-specification-body> |
| lgs | </style-specification> |
| lgs | <external-specification id="docbook" document="docbook.dsl"> |
| lgs | </style-sheet> |
| lgs | En el bloque 'define' estamos usando el lenguaje DSSSL para asignarle a la variable %left-margin% el valor 4.5cm. |
| lgs | lo que hay detrás de ;; son comentarios |
| lgs | Con la linea |
| lgs | <external-specification id="docbook" document="docbook.dsl"> |
| lgs | le estamos diciendo que use la hoja de estilo general y como las variables no se sobreescriben nunca, el valor efectivo de %left-margin% será el que nosotros le hemos dado. |
| bitland | *NeoSNK* ¿se puede usar CSS en DocBook? |
| lgs | si NeoSNK, después hablo sobre eso |
| lgs | como decía aunque carguemos la hoja de estilo general |
| lgs | como lo hacemos *después* de modificar el margen |
| lgs | esa modificación permanece |
| --> herzed (herzed@cliente-217217018233.uBRgrb01.supercable.es) has joined #gcubo | |
| lgs | es decir, DSSSL es un lenguaje donde lo que le asignes a una variable al principio |
| lgs | permanece aunque intentes redefinirlo luego |
| lgs | eso le hace bastante potente a la hora de modularizar las hojas de estilo |
| lgs | y si queremos definir estilos que se basen en el general que trae el paquete docbook-dsssl no tenemos que cambiar dicho paquete |
| lgs | Ahora invocariamos a jade de esta forma: |
| lgs | jade -t tex -V tex-backend -d mihoja.dsl /usr/lib/sgml/declaration/xml.dcl midocumento.xml |
| lgs | os recuero como lo habiamos hecho antes |
| lgs | jade -t tex -V tex-backend -d /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/print/docbook.dsl /usr/lib/sgml/declaration/xml.dcl midocumento.xml |
| lgs | lo único que hemos cambiado es el valor del parámetro -d |
| lgs | ahora usamos nuestra hoja de estilo personalizada en lugar de la hoja general |
| lgs | en realidad estamos usando la general también porque desde nuestra hoja de estilo estamos 'importando' la general |
| lgs | Os recuerdo que para obtener un ps o un pdf escribiriamos: |
| lgs | jadetex midocumento.tex |
| lgs | dvips -f midocumento.dvi > midocumento.ps |
| lgs | dvipdf -f midocumento.dvi > midocumento.pdf |
| --> _ER (~nacho@81-203-189-2.user.ono.com) has joined #gcubo | |
| lgs | si haceis la prueba ahora esos documentos tendrán 4.5 cm de margen izquierdo |
| --- bitland removes voice from _ER | |
| lgs | una burrada pero sirve para el ejemplo |
| lgs | Como veis no ha sido muy complicado. El problema es que si no sabemos DSSSL tendremos ciertas limitaciones en cuanto a las modificaciones posibles. |
| lgs | Este es uno de los problemas de DSSSL, que implica aprender un nuevo lenguaje que para nada es trivial (es muy parecido a Lisp). |
| lgs | Pero aún así se pueden cambiar muchas cosas sólo asignándole valores a las variables. |
| lgs | Lo mejor para saber qué cosas se pueden cambiar es abrir el fichero /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/print/dbparam.dsl. |
| lgs | Ahi aparecen todos los parametros o variables que se pueden modificar para las hojas de estilo que se usa jade al convertir los xml en latex |
| lgs | y en definitiva para las versiones de nuestros documentos que vamos a imprimir (ps y pdf) |
| lgs | Algunos ejemplos de estos parámetros que podemos modificar son los tipos de letra, los margenes, la generacion del indice, etc. Tiene multitud de comentarios y es facil de entender. |
| lgs | Si vemos un parametro que queramos modificar, lo que haremos sera copiar su definicion a nuestra hoja de estilo y modificarla ahi, nunca en el archivo dbparam.dsl. |
| lgs | Hay otras formas de transformar xml a otros formatos. |
| lgs | y aqui contesto a la pregunta de NeoSNK |
| lgs | Una de las más famosas son las hojas de estilo css o las hojas de estilo xslt. |
| lgs | Las hojas de estilo css (cascade style sheets) son muy sencillas de usar pero poco potentes. |
| bitland | ¿y que es una hoja de estilo? |
| lgs | y de hecho creo que sólo sirven para transformar un dtd muy concreto, que es el dtd xhtml |
| lgs | aunque no estoy seguro al 100% de esto último |
| lgs | bitland: una hoja de estilo es un fichero que contiene las reglas necesarias |
| lgs | para transformar un documento xml en algo útil |
| lgs | es lo que dice, quiero que los títulos vayan en rojo, quiero usar una letra de 12 puntos |
| lgs | quiero que los nombres de ficheros vayan en negrita |
| bitland | aclarado :) |
| lgs | y cosas por el estilo |
| lgs | entonces si juntas el XML + la hoja de estilo + un programa que procese ambas cosas |
| lgs | obtienes tu resultado |
| lgs | en el ejemplo que hemos seguido hasta ahora |
| lgs | el xml seria el fichero midocumento.xml |
| bitland | *NeoSNK* Documentación completa de DSSSL: http://www.jclark.com/dsssl/ y http://www.ibiblio.org/pub/sun-info/standards/dsssl/dssslo/do960816.htm |
| lgs | la hoja de estilo era el fichero que acababa en dsl |
| lgs | y el programa que los procesaba era jade |
| lgs | bueno, pues como os decía, las hojas de estilo en cascada (CSS) son muy sencillas |
| lgs | pero creo que sólo sirven para xhtml, que es otro dtd igual que docbook pero orientado a hacer páginas web |
| lgs | La otra tecnología que he comentado es xlst |
| lgs | Las hojas xlst se escriben usando el propio xml y son muy pontentes pero algo más complicadas. Su uso general es convertir documentos xml a cualquier otro formato, eso viene especificado en la hoja de estilo. |
| lgs | Muchos os preguntareis por qué hemos usado DSSSL. Bien la razón es que la tecnología DSSSL es algo más madura que las otras dos y por ello hasta hace poco era prácticamente la única opción. |
| lgs | Por eso, estoy mucho más puesto en DSSSL y en sus herramientas y por eso he dado la charla con DSSSL ;) |
| lgs | Pero bueno creo que por hoy es suficiente, las hojas css las va a explicar Tripu dentro de poco y si hay interes otro dia hacemos otra charla de xslt. |
| lgs | pasamos al turno de preguntas |
| lgs | ¿teneis alguna duda? |
| lgs | antes de que se me olvide, gracias a NeoSNK por los enlaces de documentación |
| bitland | mmmm, ¿nos podrías hacer un resúmen del resúmen? :D |
| lgs | ok bitland |
| bitland | esperad que vaya dando voz |
| --- bitland gives voice to _ER | |
| --- bitland gives voice to enla_cenad | |
| --- bitland gives voice to herzed | |
| lgs | hoy hemos visto que xml puede servirnos para hacer documentos |
| --- bitland gives voice to JABcomics | |
| --- bitland gives channel operator status to nauj27 | |
| lgs | y nos ofrece dos ventajas fundamentalmente: |
| --- bitland gives voice to NeoSNK | |
| --- bitland gives channel operator status to NinaNutz | |
| NeoSNK | lgs: no hay de qué por los links |
| --- bitland gives channel operator status to Pummel | |
| NeoSNK | puedo dar uno último? |
| lgs | a) podemos obtener muchos formatos diferentes a partir de un xml |
| --- enla_cenad is now known as enlavin_ | |
| lgs | un segundo NeoSNK |
| --- bitland gives voice to SIaughter | |
| NeoSNK | oki |
| --- bitland gives voice to tgz | |
| lgs | b) cuando escribimos un documento nos olvidamos de la forma y nos centramos en el contenido |
| lgs | también hemos visto que con Emacs y el módulo psgml se pueden escribir documentos xml de una forma muy sencilla |
| lgs | Luego hemos tratado una forma concreta de transformar documentos xml |
| lgs | que es mediante las hojas de estilo DSSSL y el programa jade |
| lgs | y por último hemos visto un ejemplo de cómo personalizar las hojas de estilo DSSSL que se usan en la generación de documentos para impresora |
| lgs | te sirve ese resumen bitland? |
| lgs | ya puedes poner ese enlace NeoSNK |
| NeoSNK | http://mipagina.euskaltel.es/gsagarduy/rec-xml-es.html <-- Especificación del XML 1.0 de la W3C en Español |
| NeoSNK | ^^ |
| lgs | estupendo NeoSNK |
| lgs | ¿alguién tiene más preguntas? |
| herzed | por que has dicho que no se tienen por que utilizar dtds con xml?que es lo que se utiliza entonces? |
| lgs | cuando utilizas xml con otros fines, por ejemplo para guardar la configuración de tu programa |
| lgs | y estas seguro de que nadie más va a usar esos xml |
| lgs | puedes escribir xmls que no sigan ningún dtd |
| lgs | aunque no es recomendable porque si la gente empieza a estar interesada en esos xmls |
| lgs | lo normal es que quieran que sigan algunas reglas concretas porque si no se convierte en un jaleo |
| herzed | ya, claro |
| lgs | la respuesta corta es, si esos xmls solo son para ti y tu sabes lo que vas a hacer con ellos, no necesitas dtd |
| lgs | en cualquier otro caso usa un dtd, o fabricate uno |
| NeoSNK | ¿es mejor usar los Schemas XML que las DTDs? |
| lgs | con los schemas pasa un poco como con los dsssl NeoSNK |
| lgs | los dtds son una tecnologia muuuuuy madura |
| lgs | y hay cientos de herramientas para trabajar con ellos |
| --> tork1 (root@cliente-217216184220.cm128.granpa.supercable.es) has joined #gcubo | |
| lgs | los schemas xml tiene ventajas sobre los dtds |
| lgs | pero las herramientas que los soportan son mucho más dificiles de encontrar |
| lgs | dentro de algún tiempo si habrá muchas más |
| NeoSNK | XMLSpy es una de ellas no? |
| lgs | pues no lo sé NeoSNK, no estoy muy puesto en Schemas |
| Pummel | ¿dsssl sirve para hacer transformaciones de estructura sobre el arbol XML? ¿o solo para definir hojas de estilo de formato? |
| NeoSNK | oki...gracias ^^ |
| --- bitland gives voice to tork1 | |
| lgs | sirve para hacer transformaciones Pummel |
| lgs | de hecho dsssl es un lenguaje de programación muy parecido a Lisp |
| lgs | y puedes hacer hasta las torres de Hanoi en DSSSL :) |
| Pummel | viva! thx lgs :) |
| lgs | es uno de sus 'problemas', que no es nada fácil de manejar |
| lgs | por eso surgen las xslt entre otras cosas |
| lgs | ¿alguna pregunta más o damos por terminada la charla? |
| lgs | en ese caso |
| malglam | pues parece que ya está |
| malglam | muchas gracias lgs |
| lgs | exit(0) |
| malglam | plas plas |
| malglam | plas plas |
| malglam | plas plas |
| herzed | bine!! |
| Pummel | plas plas plas plas plas |
| herzed | bien!! |
| enlavin_ | pplas plasplas |
| Pummel | bravo!!! |
| NeoSNK | PLAS PLAS PLAS PLAS PLAS PLAS PLAS !! |
| NeoSNK | ^^ |
| lgs | en unos segundos cuelgo la charla en la web, para los que habeis llegado tarde |
| herzed | PLIs plas plus!! |
| enlavin_ | eres un mostro |
| NeoSNK | me ha gustado mucho la ponencia ^^ |
| tork1 | plas plas plas |
| Pummel | total y absoluto :) |
| bitland | lgs: > /dev/catre/agusto :D |
| lgs | pelotas! |
| NinaNutz | plis plas plas ples plus |
| NeoSNK | xDDD |
| nauj27 | mu buena :) |
| tork1 | gracias lgs es que he tenido unos problemillas con mi distribucion y no he podido acceder antes... |
| bitland | NinaNutz: que lo tuyo no es imparcial X-DD |
| lgs | ok |
| NinaNutz | xDDD |
| NinaNutz | jajaja |
| herzed | muy chula, muy completa |
| herzed | buena base |





