(Anterior)
XSL: XSLT, XPath y TraX
El uso de Ant es relativamente sencillo, si alguna vez a programado en C, Ant es considerado el Make de Java; através de diversas secciones se definen acciones que deben ser llevadas acabo las cuales pueden incluir dependencias, creaciones y/o eliminación de formatos.
Las estructuras disponibles en Ant son muy poderosas ya que permiten ejecución de tareas extensas através de comandos simples; el archivo principal de Ant que puede ser considerado medular es llamado build.xml, dentro de éste se describen las ejecuciones que deben ser llevadas acabo por Ant.
A continuación se describe el contenido de este archivo para transformar XML através de "XSL Stylesheets" a diversos formatos:
El siguiente archivo es utilizado con Ant para la generación de diversos
documentos generados a partir de XML.
En el directorio donde coloque este archivo (build.xml), asegúrese de generar
un directorio llamado lib que incluya:
* Todos los archivos JAR de Xalan/Xerces.
(xerces.jar, xalanImpl.jar y xml-apis.jar )
* El archivo JAR de la distribución FOP.
(fop.jar incluido en el directorio build de la distribución )
* Los archivos JAR dependientes de FOP incluidos en el directorio lib
de su distribución
(avalon.jar y batik.jar)
|
<?xml version="1.0"?>
<project default="init" basedir=".">
<!-- La sección anterior indica que se trata de un archivo XML
Se abre el elemento project el cual indica que la fuente de
todo documento será el directorio actual.
-->
|
<!-- ======================================================== -->
<!-- IDENTIFICAR CLASSPATH -->
<!-- Se define la ubicación de los archivos que -->
<!-- que deben ser incluidos al compilar -->
<!-- En este caso se apunta hacia un directorio que -->
<!-- que contiene los archivos JAR de Xalan, -->
<!-- Xerces y Fop -->
<!-- ======================================================== -->
<path id="classpath">
<fileset dir="./lib">
<include name="*.jar"/>
</fileset>
</path>
|
<!-- ========================================================= -->
<!-- PROPIEDADES DE INICIALIZACION -->
<!-- Esta primer tarea (target) llamado init es ejecutada -->
<!-- al arranque de Ant, esto es , con simplemente -->
<!-- ejecutar el comando ant se invocan sus -->
<!-- acciones, que en este caso son simplemente de -->
<!-- imprimir un mensaje y realizar tareas de configuración -->
<!-- ========================================================= -->
<target name="init">
<tstamp/>
<property name="nombre" value="Transformacion de Documentos"/>
<echo message="------------------- ${nombre} ----------------"/>
<property name="debug" value="on"/>
<property name="optimize" value="off"/>
<property name="deprecation" value="off"/>
<property name="build.compiler" value="modern"/>
<property name="target.vm" value="1.4"/>
</target>
|
<!-- ====================================================== -->
<!-- TRANSFORMAR XML A HTML -->
<!-- Esta tarea (target) produce un documento HTML -->
<!-- a partir de los archivos indicados, sus parámetros -->
<!-- no merecen mucha explicación, son lo -->
<!-- suficientemente descriptivos -->
<!-- ====================================================== -->
<target name="html" depends="init">
<echo message="-------------- Transformando XML a HTML --------------"/>
<xslt in="productos.xml" style="productos2HTML.xsl"
out="productos.html" destdir="."/>
</target>
|
<!-- ====================================================== -->
<!-- TRANSFORMAR XML A WML -->
<!-- En esta tarea (target) se genera un archivo para -->
<!-- WML utilizado en aparatos inalámbricos, sus -->
<!-- parámetros son idénticos a los definidos -->
<!-- anteriormente para HTML -->
<!-- ====================================================== -->
<target name="wml" depends="init">
<echo message="-------------- Transformando XML a WML --------------"/>
<xslt in="productos.xml" style="productos2WML.xsl"
out="productos.wml" destdir="."/>
</target>
|
<!-- =======================================================-->
<!-- TRANSFORMAR XML A PDF -->
<!-- La primer sección de esta tarea (target) no dista -->
<!-- mucho de las anteriores, sin embargo este primer -->
<!-- paso solo genera un archivo FOP, dicho archivo debe -->
<!-- ser pasado por la conversión FOP a PDF , esto se -->
<!-- realiza através de un taskdef el cual es -->
<!-- aplicado al directamente al archivo en cuestión -->
<!-- =======================================================-->
<target name="pdf" depends="init">
<echo message="-------------- Transformando XML a PDF --------------"/>
<xslt in="productos.xml" style="productos2PDF.xsl"
out="productos.fo" destdir="."/>
<taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop">
<classpath refid="classpath"/>
</taskdef>
<fop fofile="productos.fo" outfile="./productos.pdf"/>
</target>
|
<!-- ============================================================= -->
<!-- TRANSFORMAR TODO -->
<!-- Esta tarea (target) automatiza la creación de los -->
<!-- pasos anteriores, agregando los valores de tareas (targets) -->
<!-- al parámetro depends -->
<!-- ============================================================= -->
<target name="todo" depends="html,wml,pdf">
</target>
|
<!-- ============================================================= -->
<!-- LIMPIAR TODO -->
<!-- Esta tarea (target) simplemente elimina todos los archivos -->
<!-- que pudieron ser creados mediante este archivo de Ant -->
<!-- ============================================================= -->
<target name="limpiar" depends="init" >
<delete file="productos.pdf"/>
<delete file="productos.fo"/>
<delete file="productos.wml"/>
<delete file="productos.html"/>
</target>
|
<!-- Se cierra el elemento proyecto -->
</project>
|