1 / 19

XML CREATIVO

XML CREATIVO. Álvaro Salido Fernández. ¿Qué era eso del XML?. metalenguaje. reglas. define. Metalenguaje Lenguaje de marcas = tags Estructura : tags , atributos Datos no XML : Entity Formato no XML: Notation dar Formato a XML: Transformaciones de XML a HTML : XSL XSL:

elan
Download Presentation

XML CREATIVO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML CREATIVO Álvaro Salido Fernández

  2. ¿Qué era eso del XML? metalenguaje reglas define • Metalenguaje • Lenguaje de marcas = tags • Estructura : tags, atributos • Datos no XML : Entity • Formato no XML: Notation • dar Formato a XML: • Transformaciones de XML a HTML : XSL • XSL: • especificación W3C para aplicar formato a XML lenguajes

  3. Objetos y XML • Objeto es un espécimen de una clase. • Clase es un conjunto de atributos y métodos propios generales. • Objeto tiene algunos atributos y métodos de su clase. • XML permite Formatear objetos.

  4. Transformaciones XSL • Xpath Rutas de directorios • Xquery MySQL • XSL-FO  CSS • 1º Crear una hoja de estilos XSL (plantillas) • 2º Crear plantilla XSL : una por cada fragmento a formatear • Match “nodo a partir del cual se aplica la transformación” • Path : rutas de nodos, texto y atributos • Query : selects • Fo : formato de cada plantilla : margin, padding, etc…

  5. Estructura XSL http://www.utilities-online.info/foprender/#.U5dvCvl_uSo

  6. Convertir XML en PDF utilizando Doc Book, XSL-FO y FOP • Doc Book: predefine las etiquetas y la estructura de un documento XML para ser Doc Book. Es una DTD predefinida. • http://docbook.org/xml/5.0/dtd/docbook.dtd • Artículos divididos en secciones. • Libros divididos en capítulos. • DTD y esquema. • EXTENSIÓN “.xml” • SUBLENGUAJE XML

  7. <!ELEMENT article (((title|titleabbrev|subtitle)*, (info)?), (glossary|bibliography|index|toc|appendix|acknowledgements|colophon)*, (((itemizedlist|orderedlist|procedure|simplelist|variablelist|segmentedlist|glosslist|bibliolist|calloutlist|qandaset|example|figure|table|equation|informalexample|informalfigure|informaltable|informalequation|sidebar|blockquote|address|epigraph|mediaobject|screenshot|task|productionset|constraintdef|msgset|screen|literallayout|programlistingco|screenco|programlisting|synopsis|bridgehead|remark|revhistory|indexterm|funcsynopsis|classsynopsis|methodsynopsis|constructorsynopsis|destructorsynopsis|fieldsynopsis|cmdsynopsis|caution|important|note|tip|warning|anchor|para|formalpara|simpara|annotation)+, ((((section)+, (simplesect)*)|(simplesect)+|((sect1)+, (simplesect)*)|(refentry)+))?)|((section)+, (simplesect)*)|(simplesect)+|((sect1)+, (simplesect)*)|(refentry)+), (glossary|bibliography|index|toc|appendix|acknowledgements|colophon)*)> <!ELEMENT title (#PCDATA|inlinemediaobject|remark|superscript|subscript|xref|link|olink|anchor|biblioref|alt|annotation|indexterm|abbrev|acronym|date|emphasis|footnote|footnoteref|foreignphrase|phrase|quote|wordasword|firstterm|glossterm|coref|trademark|productnumber|productname|database|application|hardware|citation|citerefentry|citetitle|citebiblioid|author|person|personname|org|orgname|editor|jobtitle|replaceable|package|parameter|termdef|nonterminal|systemitem|option|optional|property|inlineequation|tag|markup|token|symbol|literal|code|constant|email|uri|guiicon|guibutton|guimenuitem|guimenu|guisubmenu|guilabel|menuchoice|mousebutton|keycombo|keycap|keycode|keysym|shortcut|accel|prompt|envar|filename|command|computeroutput|userinput|function|varname|returnvalue|type|classname|exceptionname|interfacename|methodname|modifier|initializer|ooclass|ooexception|oointerface|errorcode|errortext|errorname|errortype)*> <!ELEMENTsection(((title|titleabbrev|subtitle)*, (info)?), (((itemizedlist|orderedlist|procedure|simplelist|variablelist|segmentedlist|glosslist|bibliolist|calloutlist|qandaset|example|figure|table|equation|informalexample|informalfigure|informaltable|informalequation|sidebar|blockquote|address|epigraph|mediaobject|screenshot|task|productionset|constraintdef|msgset|screen|literallayout|programlistingco|screenco|programlisting|synopsis|bridgehead|remark|revhistory|indexterm|funcsynopsis|classsynopsis|methodsynopsis|constructorsynopsis|destructorsynopsis|fieldsynopsis|cmdsynopsis|caution|important|note|tip|warning|anchor|para|formalpara|simpara|annotation)+, ((((section)+, (simplesect)*)|(simplesect)+|(refentry)+))?)|((section)+, (simplesect)*)|(simplesect)+|(refentry)+), (glossary|bibliography|index|toc)*)>

  8. Convertir XML en PDF utilizando Doc Book, XSL-FOy FOP • XSL-FO: lenguaje de objetos de formateo XSL para generar documentos en formato PDF a partir de nuestros documentos XML. • Las características de la página. • Los párrafos. • Las listas. • Las tablas. • Los enlaces. • etc. • EXTENSIÓN “.fo” o dentro de una plantilla de XSL

  9. XSL-FO Páginas y Regiones

  10. XSL-FO Bloques de contenido Output "Blocks" of content "Flow" into "Pages" of the output media. XSL-FO output is normally nested inside <fo:block> elements, nested inside <fo:flow> elements, nested inside <fo:page-sequence> elements: <fo:page-sequence> <fo:flow flow-name="xsl-region-body"> <fo:block> <!-- Output goes here --> </fo:block> </fo:flow> </fo:page-sequence> Block Area Attributes Blocks are sequences of output in rectangular boxes: <fo:block border-width="1mm"> This block of output will have a one millimeter border around it. </fo:block> http://www.w3schools.com/xslfo/xslfo_xslt.asp

  11. Convertir XML en PDF utilizando Doc Book, XSL-FO y FOP • FOP: El FOP (FormattingObject to PDF) es el primer procesador de objetos de formateo XSL que apareció. Empezó a ser desarrollada en solitario por James Tauber pero posteriormente se incorporo al "Apache XML Project" lo que está acelerando su desarrollo. • versión: Fop-0.18.1-DEV-src.zip que se puede obtener en la siguiente dirección: http://xml.apache.org/dist/fop/. • Prerrequisitos • Como ya hemos dicho es una aplicación en Java por lo que para poder utilizarla el único requisito necesario es tener instalado la máquina virtual Java.

  12. Convertir XML en PDF utilizando Doc Book, XSL-FO y FOP • A partir de aquí tenemos dos posibilidades: • Generar el PDF en dos pasos: • Transformar el fichero gastrono.xml el formato XSL-FO mediante la XSLT anterior y cualquier procesador XSLT. Si por ejemplo utilizamos el XT • xtarticulo.xml articulo.xsl articulo.fo • Transformar el resultado a PDF utilizando el FOP como ya sabemos: • Foparticulo.fo articulopdf.pdf • O generarlo en un único paso utilizando el FOP de la siguiente manera: • Fop -xslarticulo.xsl -xmlarticulo.xml -pdfarticulopdf.pdf

  13. Usando FOP de Apache para realizar transformaciones • D:\1ASIR\XML\fop-1.1-src\fop-1.1\src\java\org\apache\fop\tools\anttasks

  14. Usando FOP de Apache para realizar transformaciones http://www.utilities-online.info/foprender/#.U5dvCvl_uSo

  15. Resultado

  16. ANEXO Proceso Prerequisitos Como ya hemos dicho es una aplicación en Java por lo que para poder utilizarla el único requisito necesario es tener instalado la máquina virtual Java. basta con el Java 1.1.x o superior. como mínimo la versión 1.1.2 del JDK, ya que para las versiones 1.1.x hay algunos ejemplos que dan problemas. Instalación descomprimir el fichero crea una gran cantidad de directorios con todo lo necesario para empezar a trabajar y ver su funcionamiento: ejemplos, documentación, ficheros bat, etc.

  17. ANEXO Proceso Funcionamiento Para probar que todo nos funciona correctamente podemos realizar los siguientes pasos: Dentro de la carpeta raiz del FOP, mediante el intérprete de comandos nos situamos en el archivo fop Si todo el proceso anterior ha funcionado correctamente significara que ya tenemos todo perfectamente instalado para trabajar con el FOP. Y para convertir nuestro documento hola.fo, lo colocamos en el directorio raiz de la aplicación y ejecutamos el fichero Fop.bat de la siguiente manera: Fop hola.fo hola.pdf Lo cual nos genera el siguiente fichero PDF: Hola.fo en formato PDF

  18. ANEXO Proceso Pero con la anterior expresión sólo hemos ejecutado la opción más sencilla que nos ofrece la aplicación. También podríamos utilizar el FOP directamente como browser de ficheros XSL-FO. No tendríamos más que ejecutar el comando anterior de la siguiente manera: Fop hola.fo -awt Obteniendo el siguiente resultado: Hola.fo visualizado en browser del FOP. También podríamos convertir al formato MIF, TXT, etc. Para terminar esta sección simplemente un comentario. Es importante que os fijéis que el documento PDF lo hemos generado directamente desde el fichero hola.fo. Para el ejemplo lo he escrito directamente a mano. Pero como ya he dicho anteriormente se trata de un fichero XML que podríamos haber generado desde otro fichero XML mediante una XSLT. Es decir, la conversión de nuestro XML original a PDF hubiese constado de dos partes: Conversión XML original a XSL-FO mediante XSLT y un procesador XSLT. Conversión de XSL-FO a PDF mediante el procesador FOP. El FOP nos permite también realizar esta acción en un único paso (el FOP lleva incorporado el procesador XSLT Xalan). Si suponemos que nuestro documento inicial se llama hola.xml, mediante la siguiente instrucción lo hubiesemos podido realizar: Fop -xsl hola.xsl -xml hola.xml -pdf hola.pdf

  19. Fuentes de inspiración • XML : Manual Imprescindible. Juan Diego Gutiérrez Gallardo. Anaya Multimedia (2005) • http://www.programacion.com/articulo/convertir_xml_en_pdf_utilizando_xsl-fo_y_fop_73 • http://docbook.org/ • http://xmlgraphics.apache.org/fop/download.html • http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=fop • http://www.hipertexto.info/documentos/xsl.htm • http://xml-utils.com/conferencia-xsl.html • http://catcode.com/cis97yt/xslfo.html • http://www.freeformatter.com/xsl-transformer.html#xslt-examples • http://www.w3schools.com/xslfo/xslfo_pages.asp • http://www.utilities-online.info/foprender/#.U5dvCvl_uSo

More Related