Programación en castellano
Inicio > Foros > XML > Varios ficheros XML
-Foros de debate

XML
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Varios ficheros XML
Enviado por JoseLuis el día 10 de septiembre de 2004

Holas.

Veamos si me explico. Tengo un fichero en xml. En el fichero hago referencia a otros ficheros en XML y me gustaria transformar el fichero utilzando XSL (en concreto para apache xalan), de tal forma que, al encontrar estos tag que hacen referencia a un fichero externo, la transformacion XSL pueda acceder a ellos, abrirlos y continuar el parseo en dichos fichero externos.

Por ejemplo:
<root>
<seccion1>
<fichero url="file://c:/file1.xml"/> <--- quiero acceder al contenido de fichero 1.xml
</seccion1>

<seccion2>
<fichero url="file://c:/file2.xml"/> <--- quiero acceder a fichero2.xml
</seccion2>

<seccion3>
<fichero url="file://c:/file1.xml"/> <--- de nuevo quiero el contenido de fichero1.xml !!!
</seccion3>
</root>

He intentado utilizar 'document( .. )' para acceder a estos fichero, pero he aqui el problema:
- si intento utilizar 'document' 2 veces sobre el mismo fichero, 'xalan' lanza una excepcion (diche que el fichero ya esta en cache y se niega a volverlo a utilizarlo :-( ).

¿A alguien se le ocurre una solucion?
He intentado meter los ficheros en variables XSL y no lo he logrado...

Muchas gracias.

Jose Luis.

 
Re: Varios ficheros XML
Enviado por Jesús Reyes el día 29 de septiembre de 2004

¿Por qué no pruebas con XInclude? En Java 5.0 (o es 1.5?....), imagino que usas Java por lo de Xalan, se agregó el soporte de XInclude, que es una especificación del W3C para incluir documentos (o fragmentos de docs.) XML dentro de otros documentos XML. En Java, usas una instancia de
java.xml.parsers.DocumentBuilderFactory y cambias la propiedad xIncludeAware a true con el método setXIncludeAware, y te creas tu DocumentBuilder para cargar tu documento XML. Este debe tener una estructura parecida a:

<?xml version="1.0">
<midoc xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- El elemento que incluye tu otro documento -->
<xi:include href="file1.xml"/>
</midoc>

Y deberia funcionar. Ojala y esto te sirva de algo, y si tienes alguna duda, mandamela a mi correo
Jesús

 


Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados