Communauté Informatique NDFR.net : Fabriquer un fichier XSL - Programmation Web (HTML, PHP, ASP, Java, XML, etc.)
Reply
Fabriquer un fichier XSL
Thread Tools Display Modes
  #1  
Old 01-05-2004, 15:37
souljah souljah is offline
Membre junior
 
Join Date: 19-03-2004
Posts: 8
Question Fabriquer un fichier XSL

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

Code:
---DOC XML----
<?xml version='1.0' ?>
<!DOCTYPE Inbox PUBLIC '//-XML-MAIL//' >
<Inbox>
  <Lettre>

	<Expediteur>
	  <AdresseElectronique nom='monNom' domaine='mail.fr'/>
	</Expediteur>

	<Destinataire>
	  <AdresseElectronique nom='nomDestinataire' domaine='mail.fr'/>
	</Destinataire>

	<Contenu>
	  <ContenuSimple>
		  <![CDATA[le corps du message ]]
	  </ContenuSimple>
	</Contenu>

  </Lettre>
</Inbox>
----------------
je voudrais avoir un fichier xls basique qui genererait le code html
par exemple comme ça:

Code:
<html> 
<body>

<table>
<tr> 
"From : " . 'monNom'
</tr>

<tr> 
"Message : " 
</tr>

<tr> 
// le corps du message
</tr>

</table>

</html> 
</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:
----------------CODE XLS-----------
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0"
>
<xsl:output method="html"/> 

<xsl:template match="/">
<html> 
<body>
<table>
<tr> 
"From : " .......
</tr>

<tr> 
"Message : " 
</tr>

<tr> 
// le corps du message
</tr>

</table>
</body>
</html>
</xsl:template> 

</xsl:stylesheet>
--------------------------------------
si qq1 veut bien m'aider svp , MERCI !

ah oui et j'ai tte un dtd associée
Code:
<!ELEMENT Message (Commande | Inbox) >

<!ELEMENT Commande (RetirerCourrier|EnvoyerLettre) >

<!ELEMENT RetirerCourrier (UtilisateurIdentifie,Contact)>

<!ELEMENT Inbox (Lettre*)>

<!ELEMENT Contact EMPTY>
<!ATTLIST Contact machine NMTOKEN #REQUIRED >
<!ATTLIST Contact port NMTOKEN #REQUIRED >

<!ELEMENT Utilisateur (AdresseElectronique)>
<!ELEMENT AdresseElectronique EMPTY>
<!ATTLIST AdresseElectronique nom NMTOKEN #REQUIRED>
<!ATTLIST AdresseElectronique domaine NMTOKEN #REQUIRED>

<!ELEMENT UtilisateurIdentifie (AdresseElectronique,Identificateur)>
<!ELEMENT Identificateur EMPTY>
<!ATTLIST Identificateur motdepasse NMTOKEN #REQUIRED>

<!ELEMENT EnvoyerLettre (UtilisateurIdentifie,Lettre)>
<!ELEMENT Lettre (Expediteur,Destinataire,Contenu) >
<!ELEMENT Expediteur (AdresseElectronique) >
<!ELEMENT Destinataire (AdresseElectronique) >
<!ELEMENT Contenu (ContenuSimple|ContenuComplexe)>
<!ELEMENT ContenuSimple (#PCDATA) >
<!ELEMENT ContenuComplexe (ContenuMedia*) >
<!ELEMENT ContenuMedia (#PCDATA) >
<!ATTLIST ContenuMedia type-media (text | html | jpeg | gif | mp3) "text">
Reply With Quote
  #2  
Old 01-05-2004, 18:13
souljah souljah is offline
Membre junior
 
Join Date: 19-03-2004
Posts: 8
Re: Fabriquer un fichier XSL

j'ai aussi tenté ça mais ça ne marche pas

Code:
 <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0"
>
<xsl:output method="html"/> 
<xsl:template match="Inbox/Lettre">
<html> 
<body>
<xls:apply-templates select="Expediteur" />
<xls:apply-templates select="Destinataire" />
<xls:apply-templates select="Contenu" />
</body>
</html>
</xsl:template> 
 
<xls:apply-templates match="Expediteur">
Destinataire : <xls:value-of select="nom" />
Domaine : <xls:value-of select="domaine" />
</xsl:template> 
 
<xls:apply-templates match="Destinataire">
Destinataire : <xls:value-of select="nom" />
Domaine : <xls:value-of select="domaine" />
</xsl:template> 
 
<xls:apply-templates match="Contenu">
//...
</xsl:template> 
</xsl:stylesheet>
Reply With Quote
  #3  
Old 01-05-2004, 18:44
Fred's Avatar
Fred Fred is offline
00 Agent
 
Join Date: 19-10-2002
Location: MI6 HQ
Age: 40
Posts: 2,452
Send a message via MSN to Fred
Re: Fabriquer un fichier XSL

Ca m'a l'air un peu compliqué ton histoire ... en gros tu as un fichier XML que tu veux passer en HTML, mais qu'est-ce que le XLS vient faire ici ? Qu'entends-tu par "me servir des règles du XLS" ?
__________________
Eh y'a une grenouill' sur le bureau !!!
... non Gaston y'a pas d'grenouille sur le bureau
Eh y'a un gorille devant la porte !!!
... non Gaston y'a pas de gorille devant la porte
Weua y'a un p'tit oiseau sur la table !!!
... non Gaston
Reply With Quote
  #4  
Old 01-05-2004, 18:54
Benjy's Avatar
Benjy Benjy is offline
Administrateur
 
Join Date: 21-08-2001
Location: Rueil Malmaison (92)
Age: 43
Posts: 2,043
Send a message via MSN to Benjy
Re: Fabriquer un fichier XSL

Quote:
Originally Posted by Fred
Ca m'a l'air un peu compliqué ton histoire ... en gros tu as un fichier XML que tu veux passer en HTML, mais qu'est-ce que le XLS vient faire ici ? Qu'entends-tu par "me servir des règles du XLS" ?
Les fichiers XLS sont aux fichiers XML ce que sont les CSS aux HTML (en gros hein).

Par contre mes connaissances en XSL étant très limitées, je ne pense pas pouvoir t'aider directement... tu peux toutefois aller consulter cet exemple (simple mais très accessible) : http://www.comptechdoc.org/independe...slexample.html
__________________
Merci de lire et de respecter les règles et d'utiliser la .
Reply With Quote
  #5  
Old 01-05-2004, 20:44
souljah souljah is offline
Membre junior
 
Join Date: 19-03-2004
Posts: 8
Re: Fabriquer un fichier XSL

merci je vais lire ça et voir ce que je peux en tirer !
Reply With Quote
  #6  
Old 02-05-2004, 00:25
Fred's Avatar
Fred Fred is offline
00 Agent
 
Join Date: 19-10-2002
Location: MI6 HQ
Age: 40
Posts: 2,452
Send a message via MSN to Fred
Re: Fabriquer un fichier XSL

Pardon, j'ai confondu XLS et XSL, je croyais qu'on parlait de fichiers Excel
__________________
Eh y'a une grenouill' sur le bureau !!!
... non Gaston y'a pas d'grenouille sur le bureau
Eh y'a un gorille devant la porte !!!
... non Gaston y'a pas de gorille devant la porte
Weua y'a un p'tit oiseau sur la table !!!
... non Gaston
Reply With Quote
  #7  
Old 02-05-2004, 02:33
souljah souljah is offline
Membre junior
 
Join Date: 19-03-2004
Posts: 8
Re: Fabriquer un fichier XSL

ç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:
<?xml version='1.0' ?>
<!DOCTYPE Inbox PUBLIC '//-XML-MAIL//' 'xmlmail.dtd'>
<Inbox>
 <Lettre>

   <Expediteur>
	 <AdresseElectronique nom='monNom' domaine='mail.fr'/>
   </Expediteur>

   <Destinataire>
	 <AdresseElectronique nom='nomDestinataire' domaine='mail.fr'/>
   </Destinataire>

   <Contenu>
	 <ContenuSimple>
		 le corps du message
	 </ContenuSimple>
   </Contenu>

 </Lettre>
</Inbox>
j'ai aussi un peu modifié la xsl
Code:
<xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
>

<xsl:template match="/">
<HTML>
<HEAD>
</HEAD>

<BODY>
<TABLE>
<xsl:for-each select="Inbox/Lettre">
<xsl:for-each select="Expediteur">
<tr><TD>
Expediteur<BR></BR> 
NOM : <xsl:value-of select="AdresseElectronique/@nom" />
DOMAINE : <xsl:value-of select="AdresseElectronique/@domaine" />
</TD></tr>
</xsl:for-each>

<xsl:for-each select="Destinataire">
<tr><TD>
Destinataire<BR></BR> 
NOM : <xsl:value-of select="AdresseElectronique/@nom" />
DOMAINE : <xsl:value-of select="AdresseElectronique/@domaine" />
</TD></tr>
</xsl:for-each>


<xsl:for-each select="Contenu">
<tr><TD>
Contenu<BR></BR> 
<xsl:value-of select="/ContenuSimple" />
</TD></tr>
</xsl:for-each>


</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>

</xsl:stylesheet>
et, oh miracle, code généré :
Code:
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<BODY>
<TABLE>
<tr>
<TD>
Expediteur<BR>
NOM : monNom
DOMAINE : mail.fr</TD>
</tr>
<tr>
<TD>
Destinataire<BR>
NOM : nomDestinataire
DOMAINE : mail.fr</TD>
</tr>
<tr>
<TD>
Contenu<BR>
</TD>
</tr>
</TABLE>
</BODY>
</HTML>
ya juste un pb avec l'affichage du CONTENU !

il ya qq chose à modifier de ce côté sûrement:
Code:
<xsl:for-each select="Contenu">
<tr><TD>
Contenu<BR></BR> 
<xsl:value-of select="/ContenuSimple" />
</TD></tr>
</xsl:for-each>

MERCI DE M'AIDER SUR CE DERNIER POINT SVP !
Reply With Quote
  #8  
Old 04-05-2004, 00:25
Junta_'s Avatar
Junta_ Junta_ is offline
petit d'homme
 
Join Date: 18-12-2002
Location: on s'le demande
Age: 45
Posts: 438
Re: Fabriquer un fichier XSL

Quote:
Originally Posted by souljah
il ya qq chose à modifier de ce côté sûrement:
Code:
<xsl:for-each select="Contenu">
<tr><TD>
Contenu<BR></BR> 
<xsl:value-of select="/ContenuSimple" />
</TD></tr>
</xsl:for-each>
essaye en enlevant le / devant ContenuSimple

-> <xsl:value-of select="ContenuSimple" />
__________________
Cette fantasie appellé "Monde" tremble continuellement.
Mais qu'est-ce qui l'effraye tant ?

Seichi Kirima
Reply With Quote
  #9  
Old 23-07-2007, 10:54
belibech belibech is offline
Membre junior
 
Join Date: 23-07-2007
Posts: 1
Essaye ça :
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/> 
    <xsl:template match="/Inbox/Lettre">
        <html> 
            <body>
                <table>
                    <tr> 
                        "From : " <xsl:value-of select="./Expediteur/AdresseElectronique/@nom"/>
                        "Message : " 
                        <xsl:value-of select="./Contenu/ContenuSimple"/>
                    </tr>
                </table>
            </body>
        </html>
    </xsl:template> 
</xsl:stylesheet>
si tu veux avoir tout une liste il faut ajouter une boucle for each :
Code:
<xsl:for-each select="/Inbox/Lettre">
après la balise table

Last edited by Benjy; 23-07-2007 at 20:29. Reason: La balise CODE est votre amie... joli déterrage au fait :p
Reply With Quote
  #10  
Old 18-01-2008, 14:16
Juli3n Juli3n is offline
Membre junior
 
Join Date: 18-01-2008
Posts: 3
Bonjour,

Je viens de recuperer un projet qui est d'imprimer un fichier XML.
Il y a deja un fichier XSL associé et l'affichage dans le viewer de notre logiciel est nikel. Mais impossible de le sortir en couleur.
J'ai lu quelques methodes mais ca a l'air assez complexe...

Et il faut surtout que je gere les saut de pages et les pieds de page mais je n'y arrive pas. C'est la 1e fois que j'utilise ce genre de chose.

Car le fichier ne contient que des balises XSL classique et pas de XSL-FO. Il faut donc refaire entierement la feuille? Inserer du FO? Ou il y a une autre methode?
Merci beaucoup pour votre aide.

Julien
Reply With Quote
  #11  
Old 18-01-2008, 14:48
Spycam's Avatar
Spycam Spycam is offline
Spectre de ces lieux
 
Join Date: 25-10-2002
Location: France
Age: 36
Posts: 1,075
Bonjour, as-tu essayé de transformer au préalable ton xml/xsl en html afin de pouvoir l'imprimer plus simplement ?

Voici un logiciel en version d'évaluation qui devrait te permettre d'arriver à tes fins : http://www.01net.com/telecharger/win...hes/26840.html
Reply With Quote
  #12  
Old 18-01-2008, 16:03
Juli3n Juli3n is offline
Membre junior
 
Join Date: 18-01-2008
Posts: 3
Merci pour ta reponse.
Effectivement ce logiciel fonctionne quand j'enregistre en PDF, ca garde la couleur. Mais pas en html ou autre...
Par contre ca perd totalement la mise en forme de la page et ca n'affiche plus bien les Fieldset.

Et en ce qui concerne les saut de page y a t'il une solution pas trop complexe?
Merci encore.
Reply With Quote
  #13  
Old 18-01-2008, 22:27
Spycam's Avatar
Spycam Spycam is offline
Spectre de ces lieux
 
Join Date: 25-10-2002
Location: France
Age: 36
Posts: 1,075
Arrives-tu à ouvrir le xml dans firefox ?
Reply With Quote
  #14  
Old 21-01-2008, 10:17
Juli3n Juli3n is offline
Membre junior
 
Join Date: 18-01-2008
Posts: 3
Oui il s'ouvre mais il manque des couleurs et certains blocs se chevauchent...
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
récupérer un fichier pst (outlook 2003) Cougar Logiciels 2 17-10-2005 10:33
Installation automatisée de Windows 2000 - XP - Server 2003 Werner Articles 241 02-08-2005 16:52
Taille du fichier d'échange KnuX Windows NT4/2000/XP Client 10 23-06-2004 13:15
Creation d'un fichier de sortie en PHP megaseb Programmation Web (HTML, PHP, ASP, Java, XML, etc.) 5 25-01-2004 19:52
Problème de lecture de fichier en PHP stan Programmation Web (HTML, PHP, ASP, Java, XML, etc.) 9 12-10-2003 23:47

All times are GMT +2. The time now is 17:19.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.