Re: Re : plusieurs fichiers xml ? partir d'un seul
[email protected] Fri, 12 Sep 2008 13:27:53 +0200 (CEST)
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <[email protected]> |
S'il s'agit de cr=E9er plusieurs fichiers (xml ou autres) =E0 partir d'un=
seul
fichier XML, la r=E9ponse d=E9pend du processeur xsl utilis=E9.
Si c'est un processeur (saxon) qui prend en charge XSLT 2.0, il suffit
d'utiliser la fonction <xsl:result-document> comme suit :
<xsl:template match=3D"article">
<xsl:result-document href=3D"concat(@id_article}.xml" ...>
<xsl:copy>
<xsl:apply-templates select=3D"@*|node()/>
</xsl:copy>
</xsl:result-document>
</xsl:template>
Si vous utilisez un processeur limit=E9 =E0 XSLT 1.0, il vous faut utilis=
er
une extension. L=E0 encore, =E7a d=E9pend du processeur.
Si vous utilisez un processeur java, je vous sugg=E8re de le changer pour
saxon, et d'utiliser la m=E9thode pr=E9c=E9dente.
Si vous utilisez xsltproc, de libxml2, il faut utiliser l'extension exsl.
Comme suit :
Dans l'ent=EAte, d=E9clarez le namespace :
<xsl:stylesheet extension-element-prefixes=3D"exsl" version=3D"1.0"
xmlns:exsl=3D"http://exslt.org/common"
xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform">
<xsl:template match=3D"article">
<exsl:document href=3D"concat(@id_article}.xml" ...>
<xsl:copy>
<xsl:apply-templates select=3D"@*|node()/>
</xsl:copy>
</exsl:document>
</xsl:template>
</xsl:stylesheet>
Je vous renvoie =E0 exsl pour plus d'infos.
http://www.exslt.org/exsl/elements/document/index.html
J'esp=E8re que =E7a aidera.
Cordialement,
Guillaume S=E9journ=E9
Le Ven 12 septembre 2008 9:35, philippe voncken a =E9crit :
>
>
>
> ----- Message d'origine ----
> De : David DAZ. Duriez <[email protected]>
> =C0 : [email protected]
> Envoy=E9 le : Jeudi, 11 Septembre 2008, 19h06mn 21s
> Objet : [xml-tech] plusieurs fichiers xml =E0 partir d'un seul
>
>
> Bonjour,
> Apr=E8s traitement, j'ai dans un m=EAme fichier XML du type :
>
>
> <document>
>
>
> <article>
>
>
> <revue>
>
>
> <date>
>
>
> <titre>
>
>
> <chapeau>
>
>
> <texte>
>
>
> </article>
>
>
>
>
> <article>
>
>
> <revue>
>
>
> <date>
>
>
> <titre>
>
>
> <chapeau>
>
>
> <texte>
>
>
> </article>
>
>
>
>
>
>
> <article>
>
>
> <revue>
>
>
> <date>
>
>
> <titre>
>
>
> <chapeau>
>
>
> <texte>
>
>
> </article>
>
>
> </document>
>
>
>
>
> Comment faire pour faire un fichier XML diff=E9rent pour =AB bloc =BB d=
u type
> <document><article>........</article></document> ?
>
>
>
>
> Merci d'avance pour votre aide
>
>
>
>
>
>
>
>
>
> No virus found in this outgoing message.
> Checked by AVG.
> Version: 7.5.524 / Virus Database: 270.6.19/1665 - Release Date:
> 10/09/2008
> 19:00
>
>
>
>
> -- Binary/unsupported file stripped by Ecartis --
> -- Type: application/ms-tnef
>
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "[email protected]" (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 [email protected]
> (mailto:[email protected]?Subject=3Dunsubscribe)
>
>
>
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "[email protected]" (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 [email protected]
> (mailto:[email protected]?Subject=3Dunsubscribe)
>
>
>