Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: chris bable (bable2m3@yahoo.fr)
Date: 14/11/2003 - 14:10


Effectivement, vous avez raison, c'est bien la réponse que vous m'apportez qui répond à ma question.
J'avais omis la suite...
 
Petite question supplémentaire :
j'ai deux fichiers xml (FICHIER_1.xml et FICHIER_2.xml), je n'en veux plus qu'un.

Mon fichier xsl ressemble à :
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:th="URI_de_FICHIER_1_et_FICHIER_2">
     <xsl:template match="/">
          <config>
               <xsl:apply-templates select="document('FICHIER_1.xml')/th:FICHIER_1_config/th:network_interface"/>
          </config>
     </xsl:template>
 
     <xsl:template match="document('FICHIER_1.xml')/th:FICHIER_1_config/th:network_interface">
          <xsl:value-of select="th:arp"/>
          <xsl:value-of select="document('FICHIER_2.xml')/th:network/th:interface_name"/>
          <xsl:value-of select="document('FICHIER_2.xml')/th:network/th:ip_adresse"/>
          <xsl:value-of select="document('FICHIER_2.xml')/th:network/th:net_mask"/>
          <xsl:value-of select="document('FICHIER_2.xml')/th:network/th:mtu"/>
  etc...
     </xsl:template>
</xsl:stylesheet>
 
Ca semble marcher.
Mais le pb est que mes fichiers FICHIER_1.xml et FICHIER_2.xml sont très longs et leurs noms aussi (plutôt du style
FICHIER_1.xml = un_nom_de_fichier_a_rallonge_pour_differencier_fichier_1_fichier_2.xml - je ne suis pas à l'origine de ces
fichiers).
 
Comment puis-je remplacer "document('FICHIER_2.xml')" par "fic2", par exemple ?
 
De plus, dans FICHIER_1 et dans FICHIER_2, on fait référence à un namespace.

Lorsque l'on définit un namespace, doit-on obligatoirement lui associer un préfixe (ici th) ?
Cela semble être le cas quand on veut transformer un fichier xml en un autre (sinon échec d'accès aux valeurs dans les
balises).
 
cf : http://www-106.ibm.com/developerworks/xml/library/x-tipcombxslt/
"For completeness, document() also accepts a node-set as a parameter, in which case the function assumes each node is a URI.
Finally, you can pass a combination of a string and a node-set as parameters"
 
A moins que je ne comprenne pas bien...
 
Merci pour votre aide,
Christophe
-------------------------------------------
Laurent THIBAULT <lthibault@sogitec.fr> wrote:
De: Laurent THIBAULT
À: "'xml-tech@xmlfr.org'"
Objet: [xml-tech] Re: Transformer un fichier XML en un autre XML. Pb avec <> pour creer une nouvelle balise.
Date: Thu, 13 Nov 2003 17:24:45 +0100
Le resultat que vous attendez n'est pas conforme a la norme XML.
En effet, vous ouvrez une balise <config> que vous ne fermez pas.
Si vous n'etes pas contre le fait de la fermer, alors la solution
suivante suffira :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
  <config>
   <xsl:value-of select="document('Network.xml')/network/arp"/>
  </config>
 </xsl:template>
</xsl:stylesheet>
Cordialement,
Laurent Thibault.
-----Message d'origine-----
De: chris bable [SMTP:bable2m3@yahoo.fr]
Date: jeudi 13 novembre 2003 16:55
A: site xmlfr.org
Objet: [xml-tech] Transformer un fichier XML en un autre XML. Pb avec
<> pour creer une nouvelle balise.
Bonjour,
 
je souhaite transformer le fichier Network.xml en Result.xml.
Le fichier xsl intermediaire est : Feuille.xsl
Je n'arrive pas a "ecrire" une nouvelle balise dans le fichier resulat
: pb avec <>.
 
Network.xml :
<?xml version="1.0" encoding="UTF-8"?>
<network>
     <arp>enable</arp>
</network>
Feuille.xsl :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:template match="/">
          &lt;config&gt;
          <xsl:value-of select="document('Network.xml')/network/arp"/>
     </xsl:template>
</xsl:stylesheet>
Result.xml
<?xml version="1.0" encoding="UTF-8"?>
&lt;config&gt; -----------> non ! je veux ecrire : <config>
enable
 
Savez vous comment faire ?
 
D'avance merci,
Christophe

---------------------------------
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Testez le nouveau Yahoo! Mail

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "xml-tech@xmlfr.org" (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@xmlfr.org (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement