PDF de programación - soporte XML para GNU/Linux

<<>>
Imágen de pdf soporte XML para GNU/Linux

soporte XML para GNU/Linuxgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 6 de Marzo del 2018)
146 visualizaciones desde el 6 de Marzo del 2018
24,6 KB
4 paginas
Soporte XML para GNU/Linux

Soporte XML para GNU/Linux

Ignacio Barrancos Martínez
ignacio@adesx.com

Contenido
1.Introducción.............................................................................................................................................. 1
2.Instalación de paquetes xml.apache.org.................................................................................................. 1
3.Otros paquetes específicos...................................................................................................................... 2
3.1.Java 1.4.............................................................................................................................................. 2
3.2.Apache fop......................................................................................................................................... 2
3.3.Xincluder.............................................................................................................................................2
4.Generación de listados usando OracleXML y LaTeX...............................................................................3
4.1.Referencias técnicas oficiales de Oracle............................................................................................3
4.2.Código de ejemplo..............................................................................................................................3

1. Introducción

Hace ya unos años me introduje en el apasionante mundo del XML, gracias a un artículo de Jaime E. Vi-
llate, donde se describía cómo editar documentos en Xml para su publicación automática en la web. Poco
a poco, empezó a apasionarme esta tecnología emergente, hasta tal punto, que hoy soy incapaz de hacer la
mitad de cosas que hago sin ayuda de Xml en alguno de sus dialectos.

Dado que cada vez más gente me pregunta cómo instalar xml en Linux, y también, porque yo mismo lo
necesito para realizar instalaciones, he decidido recoger en este documento todas las herramientas con las
que trabajo a diario, y elaborar así una pequeña guía de instalación.

En principio, las herramientas se podrán instalar sobre cualquier linux independientemente de la distribu-
ción que se use, pero para ello, será necesario tener instalado stow, dado que algunas de ellas serán
compiladas en local, y esta herramienta es excelente para gestionar los programas que hayamos compila-
do a mano en nuestro sistema.

2. Instalación de paquetes xml.apache.org

Para ello necesitaremos los siguientes paquetes:

• Xerces 2.1 C++: Parser DTD y XML-Schema desarrollado dentro del proyecto xml.apache.org , e

implementado en C++, que es más rápida que su versión Java.

• Xalan 1.4 C++: Motor XSLT desarrollado dentro del proyecto xml.apache.org, e implementado en

C++, que es más rápida que su versión Java.



ICU 2.2: Librería de internacionalización de Charsets, desarrollada por IBM. La requieren Xerces y
Xalan, para usar las características avanzadas de los mismos.

Dado que debemos recompilar necesitaremos tener instalado:

Página 1 de 4

Soporte XML para GNU/Linux

• GNU make.

• GNU autoconf.

• GNU gcc y g++.

• Stow: Pequeña utilidad para la gestión de aplicaciones compiladas e instaladas de manera local.

Para instalar los paquetes de xml-apache.org teclee:

su -
mkdir -p /opt/xml.apache.org
cd
wget http://ignacio-barrancos.dnsalias.net/software/linux/xml/xml-apache.org/*
make

/opt/xml.apache.org

Cuando finalice el comando make, tendrá instalado en /usr/local/stow los directorios: icu, xalan y
xerces, que contendrán los binarios y librerías que se usarán, además de los enlaces simbólicos dentro de
sus respectivos /usr/local.

3. Otros paquetes específicos

Además de estos paquetes también se deben instalar aplicaciones basadas en XML, para propósitos espe-
cíficos.

3.1. Java 1.4

Cada vez más aparecen aplicaciones escritas en java que interactúan con Xml. Es por esto que se convier-
te en una herramienta imprescindible. Es muy conveniente instalar la versión 1.4, dado que las últimas
versiones de Fop, presentan incompatibilidades con versiones anteriores. Tampoco es recomendable ins-
talar el Java open source que hay para Debian. Para instalar el jdk, teclearemos...

su -
cd /opt
wget http://ignacio-barrancos.dnsalias.net/software/linux/j2sdk-1.4.2.tar.gz
tar -xzvf j2sdk-1.4.2.tar.gz
ln -s /opt/j2sdk-1.4.2.tar.gz

/opt/java

3.2. Apache fop

Fop es el parser de XSLFO del proyecto Xml.apache.org.

XSLFO es un estándard del w3c, y fué diseñado para ser el lenguaje de hojas de estilo de los documentos
XML. Básicamente, este estándard permite especificar cómo se renderizarán documentos XML, en papel,
en html, etc, etc..., algo análogo a lo que hace LaTeX, pero con la diferencia que no presenta ciertos pro-
blemas de LaTeX, sobre todo al acercarse los finales de página.

Para instalar fop, se teclearán la siguiente secuencia de comandos:

su -
cd /opt
wget http://ignacio-barrancos.dnsalias.net/software/linux/xml/fop-0.20.5.tar.gz
tar -xzvf fop-0.20.5.tar.gz
ln -s /opt/fop-0.20.5/fop.sh /usr/local/bin/fop

3.3. Xincluder

Página 2 de 4

Soporte XML para GNU/Linux

Xinclude es parte del estandard Xlink del w3c, que modela cómo deben ser los enlaces a documentos
XML desde documentos XML, valga la redundancia.

En concreto, Xinclude permite especificar links dentro de archivos XML que luego el motor XSLT, al
procesarlos, sustituirá por el contenido del documento al que hace referencia. Por ejemplo,

• Supongamos el archivo, prueba.xlink.xml con el siguiente contenido:

<?xml version="1.0"?>
<a>

<parrafo>Hola esto es una prueba</parrafo>
<prueba xmlns:xi="http://www.w3.org/2001/XInclude"

xmlns:xpointer="http://www.w3.org/TR/xptr">

<xi:include href="contenido.xml" parse="xml" />

</prueba>

</a>

• Supongamos que el archivo contenido.xml, contiene ...

<?xml version="1.0" ?>
<otro>Este es el archivo contenido</otro>

• El XML final, una vez se hayan resulto y evaluado los xlinks, será:

<?xml version='1.0' encoding='UTF-8'?>
<a>

<parrafo>Hola esto es una prueba</parrafo>
<prueba xmlns:xi='http://www.w3.org/2001/XInclude'

xmlns:xpointer='http://www.w3.org/TR/xptr'>

<otro xml:base='file:/tmp/contenido.xml'>Este es el archivo contenido</otro>

</prueba>

</a>

El problema, es que los motores actuales XSLT dejan mucho que desear. Para solucionar esta necesidad
se debe instalar otro paquete llamado Xincluder, que se encarga de solucionar los problemas que Xalan,
ni xslt saben solucionar. Para ello,

su -
cd /opt
wget http://ignacio-barrancos.dnsalias.net/software/linux/xml/xincluder.tar.gz
tar -xzvf xincluder.tar.gz
ln -s /opt/xincluder/xincluder.sh /usr/local/bin/xincluder

4. Generación de listados usando OracleXML y LaTeX

4.1. Referencias técnicas oficiales de Oracle

Se puede encontrar documentación ténica de Oracle sobre XML en los siguientes links del Metalink:

• DOCID: 228531.1 , que habla sobre SQLXML utility
• DOCID: 120841.1 , que habla sobre DBMS_XMLQuery

4.2. Código de ejemplo

SET SERVEROUTPUT on
DECLARE

ctx DBMS_XMLQuery.ctxType;

Página 3 de 4

Soporte XML para GNU/Linux

xml clob;
emp_no NUMBER := 7844;
xmlc varchar2(255);
off integer := 1;
len integer := 255;

BEGIN

ctx := DBMS_XMLQuery.newContext('SELECT * FROM emp WHERE empno = :empno');
DBMS_XMLQuery.setBindValue(Ctx, 'empno', emp_no);
xml := DBMS_XMLQuery.getXML(Ctx);
DBMS_XMLQuery.closeContext(Ctx);
DBMS_LOB.READ(xml, len, off, xmlc);
DBMS_OUTPUT.PUT_LINE(xmlc);

END;
/

Página 4 de 4
  • Links de descarga
http://lwp-l.com/pdf9234

Comentarios de: soporte XML para GNU/Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad