|
|
Mozy Online Backup: 2GB Free. Automatic. Secure.
Subject: Transformation XSLT de gros documents - msg#00056
List: text.xml.french.tech
Bonsoir,
comment feriez-vous pour traiter en XSLT des documents de plus de 50 Mégas?
xsltproc se vautre, XalanJ y arrive, au prix d'une consommation mémoire
gargantuesque.
J'avais regardé il y a un moment une espèce de représentation DOM sur disque,
mais je
n'arrive plus à remettre la main dessus.
Quelqu'un a t'il un pointeur sur un projet de ce genre là, ou quelque chose
d'autre
auquel je n'ai pas pensé?
Merci.
Bruno Verachten
Was this page helpful?
Thread at a glance:
Previous Message by Date:
click to view message preview
Re: Namespaces dans l'XML output
Le mercredi 19 octobre 2005 à 17:18 +0200, sylvain caillot a écrit :
> Cela ne semble pas se derouler aussi bien que prevu a moins d'avoir rate
> quelquechose. J'ai rajoute les namespaces que je souhaite voir apparaitre
> dans la racine du document:
>
> <xsl:stylesheet version="1.1"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:fo="http://www.w3.org/1999/XSL/Format"
> xmlns:date="http://exslt.org/dates-and-times"
> xmlns:exsl="http://exslt.org/common"
> xmlns:xlink="http://www.w3.org/1999/xlink"
> xmlns:html="http://www.w3.org/HTML/1998/html4" xml:lang="en"
> xmlns:dc="http://chemin DC/" xmlns:dcterms="http://chemin DCTERMS/"
> xmlns:fi="http://chemin FI/">
> <xsl:template match="document">
> <xsl:element name="fi:DOC" xmlns:dc="http://chemin DC/"
> xmlns:dcterms="http://chemin DCTERMS/" xml:lang="fr">
> <xsl:element name="fi:DataEntry">
> <xsl:element name="fi:Editor">nom</xsl:element>
> <xsl:element name="dcterms:Created">
> <xsl:value-of select="date:date()"/>
> </xsl:element>
> </xsl:element>
> </xsl:element>
> </xsl:template>
> </xsl:stylesheet>
>
> En lancant la conversion avec saxon, le resultat XML est:
>
> <?xml version="1.0" encoding="utf-8"?>
> <fi:DOC xmlns:fi="http://chemin FI/">
> <fi:DataEntry>
> <fi:Editor>nom</fi:Editor>
> <dcterms:Created xmlns:dcterms="http://chemin
> DCTERMS/">2005-10-19</dcterms:Created>
> </fi:DataEntry>
> </fi:DOC>
>
> Il me rajoute dans ma racine que le namespace correspondant au prefix de mon
> noeud, mais il ne rajoute les deux autres namespaces (xmlns:dcterms et
> xmlns:dc) et me les rajoute par contre a chaque fois qu il rencontre un
> noeud dont le prefix correspond.
A défaut d'être concis et harmonieux, c'est parfaitement valide au sens
de la recommandation des espaces de noms...
Pour mieux contrôler l'endroit où vont être placées les déclarations, il
vaut mieux utiliser des littéraux plutôt que xsl:element :
<xsl:template match="document">
<fi:DOC xmlns:fi="http://chemin FI/">
<fi:DataEntry>
<fi:Editor>nom</fi:Editor>
<dcterms:Created xmlns:dcterms="http://chemin
DCTERMS/"><xsl:value-of select="date:date()"/></dcterms:Created>
</fi:DataEntry>
</fi:DOC>
</xsl:template>
Produira un résultat beaucoup plus fidèle à vos souhaits.
Cordialement,
Eric van der Vlist
--
Weblog:
http://eric.van-der-vlist.com/blog?t=category&a=English
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
Next Message by Date:
click to view message preview
RE : Re: Transformation XSLT de gros documents
Bonjour,
SAXON serait une solution (www.saxon.com). En créant une machine virtuelle JAVA
java -Xmx1400m -Xms1400m -jar saxon8.jar source.xml genere.xslt
>destination.xml
-Xms1400m donne la valeur minimum de la JVM et l'autre la valeurs minimale.
J'espère que cela vous aidera.
Salim Labriki
________________________________
De: xml-tech-bounce@xxxxxxxxx de la part de Bruno Chatel
Date: mer. 19/10/2005 18:43
À: xml-tech@xxxxxxxxx
Cc: bcha@xxxxxxxxxxx
Objet : [xml-tech] Re: Transformation XSLT de gros documents
Bonjour,
Je connais les produits PDOM et PXSLT de la société Infonyte
(http://www.infonyte.com/en/index.html) qui lorsque je l'ai évalué
était trés performant (traitement d'un document de 500Mo sur disque).
Mais c'est un produit commercial...
Sinon, une alternative serait de réussir à fragmenter votre document...
Une autre d'envisager la transformation via XQuery sur une base native XML
(type eXist)...
Mais celà ne répond bien entendu pas forcément au problème posé.
Cordialement
--
Bruno Chatel
Tel : (+33) (0)4 96 11 14 57
bcha@xxxxxxxxxxx
http://www.chadocs.com
--------------------------------------
----- Original Message -----
From: "Verachten Bruno" <Bruno.Verachten@xxxxxxxxxxxxxx>
To: <xml-tech@xxxxxxxxx>
Sent: Wednesday, October 19, 2005 6:05 PM
Subject: [xml-tech] Transformation XSLT de gros documents
> Bonsoir,
>
> comment feriez-vous pour traiter en XSLT des documents de plus de 50 Mégas?
> xsltproc se vautre, XalanJ y arrive, au prix d'une consommation mémoire
> gargantuesque.
> J'avais regardé il y a un moment une espèce de représentation DOM sur disque,
> mais je
> n'arrive plus à remettre la main dessus.
> Quelqu'un a t'il un pointeur sur un projet de ce genre là, ou quelque chose
> d'autre
> auquel je n'ai pas pensé?
>
> Merci.
>
> Bruno Verachten
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xxxxxxxxx" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xxxxxxxxx
> (mailto:xml-tech-request@xxxxxxxxx?Subject=unsubscribe)
>
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xxxxxxxxx" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xxxxxxxxx
(mailto:xml-tech-request@xxxxxxxxx?Subject=unsubscribe)
-- Binary/unsupported file stripped by Ecartis --
-- Type: application/ms-tnef
Previous Message by Thread:
click to view message preview
Namespaces dans l'XML output
Bonjour
Comment peut on rajouter des namespaces au niveau du root de mon document
XML en sortie?
Je souhaite en effet rajouter le namespace suivant
xsi:schemaLocation="http://test/schema.xsd" et l'info suivante xml:lang="en"
a la racine de tous documents.
merci
Next Message by Thread:
click to view message preview
Re: Transformation XSLT de gros documents
Bonjour,
Je connais les produits PDOM et PXSLT de la société Infonyte
(http://www.infonyte.com/en/index.html) qui lorsque je l'ai évalué
était trés performant (traitement d'un document de 500Mo sur disque).
Mais c'est un produit commercial...
Sinon, une alternative serait de réussir à fragmenter votre document...
Une autre d'envisager la transformation via XQuery sur une base native XML
(type eXist)...
Mais celà ne répond bien entendu pas forcément au problème posé.
Cordialement
--
Bruno Chatel
Tel : (+33) (0)4 96 11 14 57
bcha@xxxxxxxxxxx
http://www.chadocs.com
--------------------------------------
----- Original Message -----
From: "Verachten Bruno" <Bruno.Verachten@xxxxxxxxxxxxxx>
To: <xml-tech@xxxxxxxxx>
Sent: Wednesday, October 19, 2005 6:05 PM
Subject: [xml-tech] Transformation XSLT de gros documents
> Bonsoir,
>
> comment feriez-vous pour traiter en XSLT des documents de plus de 50 Mégas?
> xsltproc se vautre, XalanJ y arrive, au prix d'une consommation mémoire
> gargantuesque.
> J'avais regardé il y a un moment une espèce de représentation DOM sur disque,
> mais je
> n'arrive plus à remettre la main dessus.
> Quelqu'un a t'il un pointeur sur un projet de ce genre là, ou quelque chose
> d'autre
> auquel je n'ai pas pensé?
>
> Merci.
>
> Bruno Verachten
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xxxxxxxxx" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xxxxxxxxx
> (mailto:xml-tech-request@xxxxxxxxx?Subject=unsubscribe)
>
>
|
|