Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1798 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  fabriquer un fichier xls

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fabriquer un fichier xls

n°713498
souljah
Posté le 01-05-2004 à 14:33:08  profilanswer
 

bonjour !
voilà j'ai un document xml, que je voudrais  
passer en html en me servant de regles contenues dans un fichier xls
 

Code :
  1. ---DOC XML----
  2. <?xml version='1.0' ?>
  3. <!DOCTYPE Inbox PUBLIC '//-XML-MAIL//' >
  4. <Inbox>
  5.   <Lettre>
  6.     <Expediteur>
  7.       <AdresseElectronique nom='monNom' domaine='mail.fr'/>
  8.     </Expediteur>
  9.     <Destinataire>
  10.       <AdresseElectronique nom='nomDestinataire' domaine='mail.fr'/>
  11.     </Destinataire>
  12.     <Contenu>
  13.       <ContenuSimple>
  14.           <![CDATA[le corps du message ]]
  15.       </ContenuSimple>
  16.     </Contenu>
  17.   </Lettre>
  18. </Inbox>
  19. ----------------


 
je voudrais avoir un fichier xls basique qui genererait le code html
par exemple comme ça:
 

Code :
  1. <html>
  2. <body>
  3. <table>
  4. <tr>
  5. "From : " . 'monNom'
  6. </tr>
  7. <tr>
  8. "Message : "
  9. </tr>
  10. <tr>
  11. // le corps du message
  12. </tr>
  13. </table>
  14. </html>
  15. </body>


 
 
 
voici à koi ressemble ce que j'ai fais pour le fichier xls, le probleme c'est que je ne sais pas recupérer 'monNom' ou 'mail.fr' par exemple...
 

Code :
  1. ----------------CODE XLS-----------
  2. <?xml version="1.0" encoding="ISO-8859-1"?>
  3. <xsl:stylesheet
  4. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  5. version="1.0"
  6. >
  7. <xsl:output method="html"/>
  8. <xsl:template match="/">
  9. <html>
  10. <body>
  11. <table>
  12. <tr>
  13. "From : " .......
  14. </tr>
  15. <tr>
  16. "Message : "
  17. </tr>
  18. <tr>
  19. // le corps du message
  20. </tr>
  21. </table>
  22. </body>
  23. </html>
  24. </xsl:template>
  25. </xsl:stylesheet>
  26. --------------------------------------


 
si qq1 veut bien m'aider svp , MERCI !
 
ah oui et j'ai tte un dtd associée

Code :
  1. <!ELEMENT Message (Commande | Inbox) >
  2. <!ELEMENT Commande (RetirerCourrier|EnvoyerLettre) >
  3. <!ELEMENT RetirerCourrier (UtilisateurIdentifie,Contact)>
  4. <!ELEMENT Inbox (Lettre*)>
  5. <!ELEMENT Contact EMPTY>
  6. <!ATTLIST Contact machine NMTOKEN #REQUIRED >
  7. <!ATTLIST Contact port NMTOKEN #REQUIRED >
  8. <!ELEMENT Utilisateur (AdresseElectronique)>
  9. <!ELEMENT AdresseElectronique EMPTY>
  10. <!ATTLIST AdresseElectronique nom NMTOKEN #REQUIRED>
  11. <!ATTLIST AdresseElectronique domaine NMTOKEN #REQUIRED>
  12. <!ELEMENT UtilisateurIdentifie (AdresseElectronique,Identificateur)>
  13. <!ELEMENT Identificateur EMPTY>
  14. <!ATTLIST Identificateur motdepasse NMTOKEN #REQUIRED>
  15. <!ELEMENT EnvoyerLettre (UtilisateurIdentifie,Lettre)>
  16. <!ELEMENT Lettre (Expediteur,Destinataire,Contenu) >
  17. <!ELEMENT Expediteur (AdresseElectronique) >
  18. <!ELEMENT Destinataire (AdresseElectronique) >
  19. <!ELEMENT Contenu (ContenuSimple|ContenuComplexe)>
  20. <!ELEMENT ContenuSimple (#PCDATA) >
  21. <!ELEMENT ContenuComplexe (ContenuMedia*) >
  22. <!ELEMENT ContenuMedia (#PCDATA) >
  23. <!ATTLIST ContenuMedia type-media (text | html | jpeg | gif | mp3) "text">

mood
Publicité
Posté le 01-05-2004 à 14:33:08  profilanswer
 

n°713612
souljah
Posté le 01-05-2004 à 17:14:02  profilanswer
 

ça avance un peu !
ptêtre ke le pb vient du fichier xml renvoyé par le server
j'ai essayé de modifier celui ci, comme ça, en rajoutant la reference à la dtd, et en enlevant la balise (mal fermée au passage..) CDATA

Code :
  1. <?xml version='1.0' ?>
  2. <!DOCTYPE Inbox PUBLIC '//-XML-MAIL//' 'xmlmail.dtd'>
  3. <Inbox>
  4. <Lettre>
  5.    <Expediteur>
  6.      <AdresseElectronique nom='monNom' domaine='mail.fr'/>
  7.    </Expediteur>
  8.    <Destinataire>
  9.      <AdresseElectronique nom='nomDestinataire' domaine='mail.fr'/>
  10.    </Destinataire>
  11.    <Contenu>
  12.      <ContenuSimple>
  13.          le corps du message
  14.      </ContenuSimple>
  15.    </Contenu>
  16. </Lettre>
  17. </Inbox>


 
j'ai aussi un peu modifié la xsl

Code :
  1. <xsl:stylesheet
  2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. version="1.0"
  4. >
  5. <xsl:template match="/">
  6. <HTML>
  7. <HEAD>
  8. </HEAD>
  9. <BODY>
  10. <TABLE>
  11. <xsl:for-each select="Inbox/Lettre">
  12. <xsl:for-each select="Expediteur">
  13. <tr><TD>
  14. Expediteur<BR></BR>
  15. NOM : <xsl:value-of select="AdresseElectronique/@nom" />
  16. DOMAINE : <xsl:value-of select="AdresseElectronique/@domaine" />
  17. </TD></tr>
  18. </xsl:for-each>
  19. <xsl:for-each select="Destinataire">
  20. <tr><TD>
  21. Destinataire<BR></BR>
  22. NOM : <xsl:value-of select="AdresseElectronique/@nom" />
  23. DOMAINE : <xsl:value-of select="AdresseElectronique/@domaine" />
  24. </TD></tr>
  25. </xsl:for-each>
  26. <xsl:for-each select="Contenu">
  27. <tr><TD>
  28. Contenu<BR></BR>
  29. <xsl:value-of select="/ContenuSimple" />
  30. </TD></tr>
  31. </xsl:for-each>
  32. </xsl:for-each>
  33. </TABLE>
  34. </BODY>
  35. </HTML>
  36. </xsl:template>
  37. </xsl:stylesheet>


 
et, oh miracle, code généré :

Code :
  1. <HTML>
  2. <HEAD>
  3. <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. </HEAD>
  5. <BODY>
  6. <TABLE>
  7. <tr>
  8. <TD>
  9. Expediteur<BR>
  10. NOM : monNom
  11. DOMAINE : mail.fr</TD>
  12. </tr>
  13. <tr>
  14. <TD>
  15. Destinataire<BR>
  16. NOM : nomDestinataire
  17. DOMAINE : mail.fr</TD>
  18. </tr>
  19. <tr>
  20. <TD>
  21. Contenu<BR>
  22. </TD>
  23. </tr>
  24. </TABLE>
  25. </BODY>
  26. </HTML>


ya juste un pb avec l'affichage du CONTENU !
 
il ya qq chose à modifier de ce côté sûrement:

Code :
  1. <xsl:for-each select="Contenu">
  2. <tr><TD>
  3. Contenu<BR></BR>
  4. <xsl:value-of select="/ContenuSimple" />
  5. </TD></tr>
  6. </xsl:for-each>


 
 
MERCI DE M'AIDER SUR CE DERNIER POINT SVP !


Message édité par souljah le 02-05-2004 à 01:34:10
n°715842
swgreedo
Posté le 05-05-2004 à 10:03:55  profilanswer
 

Enlève le "/" ; puisque tu es déja dans ton élément Contenu, le chemin de ton élément ContenuSimple est juste "ContenuSimple".

Code :
  1. <xsl:value-of select="ContenuSimple" />


Je te recommande d'utiliser plusieurs templates (un par élément XML de ta racine au moins), ca t'évitera d'avoir trop de code imbriqué.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  fabriquer un fichier xls

 

Sujets relatifs
remplacer tous les accents d'un fichier donné[ASP.NET][C#]ecriture d'un fichier xml
Pb de recherche dans un fichierTester existance d'un fichier
Crypter le mot de passe dans un fichier .htpasswdCtrl ouverture fichier
fichier metcomment executer un fichier .sh avec une cmd PHP ?
Enrichissement via SQL d'un fichier ascii délimitéfichier MXF pour les nuls
Plus de sujets relatifs à : fabriquer un fichier xls


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR