IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Transformer un XML en html par XSL [XSLT 1.0]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Par défaut Transformer un XML en html par XSL
    Bonjour,

    je suis en train d'apprendre le XML et je veux transformer un XML en html par XSL, mais j'arrive pas. Je sais que l'erreur dans le XSL mais où je sais pas, voici mes Codes:
    XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <!DOCTYPE bouteille SYSTEM "TP2.dtd">
    <?xml-stylesheet type="text/xsl" href="TP2.xsl"?>
     
    <bouteille>
    	<source>				
    		<nom>Sidi Ali</nom>
    		<codeBar>2738900078925</codeBar>
    		<volume>150</volume>
    		<composition>
    			<ion>
    				<materiau>calsium</materiau><quantite>22.4</quantite>
    				<materiau>magnesium</materiau><quantite>7.3</quantite>
    				<materiau>chlorure</materiau><quantite>18</quantite>
    				<materiau>nitrates</materiau><quantite>5.4</quantite>
    			</ion>
    			<autre_materiau>fer</autre_materiau>	
    		</composition>
    		<lieu>
    			<ville>Sidi Ali Chérif</ville>
    			<departement>Khémisset</departement>
    		</lieu>
    	</source>
    	<source>				
    		<nom>Ain Atlas</nom>
    		<codeBar>5345765499077</codeBar>
    		<volume>50 </volume>
    		<composition>
    			<ion>
    				<materiau>calsium</materiau><quantite>70</quantite>
    				<materiau>magnesium</materiau><quantite>40</quantite>
    				<materiau>chlorure</materiau><quantite>220</quantite>
    				<materiau>nitrates</materiau><quantite>4</quantite>
    			</ion>
    			<autre_materiau>pH = 7</autre_materiau>
    		</composition>
    		<lieu>
    			<ville>Hammou Guemguem</ville>
    			<departement>Fès</departement>
    		</lieu>
    	</source>
    	<source>				
    		<nom>Ain Sais</nom>
    		<codeBar>4509888065898</codeBar>
    		<volume>50</volume>
    		<composition>
    			<ion>
    				<materiau>calsium</materiau><quantite>11.5</quantite>
    				<materiau>magnesium</materiau><quantite>8</quantite>
    				<materiau>chlorure</materiau><quantite>13.5</quantite>
    				<materiau>nitrates</materiau><quantite>6.3</quantite>
    			</ion>
    			<autre_materiau>silice</autre_materiau>
    		</composition>
    		<lieu>
    			<ville>Ain Sais</ville>
    			<departement>Khénifra</departement>
    		</lieu>
    	</source>
    </bouteille>
    DTD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    <!ELEMENT bouteille (source*)>
    <!ELEMENT source (nom,codeBar,volume,composition,lieu)>
    <!ELEMENT nom (#PCDATA)>
    <!ELEMENT codeBar (#PCDATA)>
    <!ELEMENT volume (#PCDATA)>
       <!ATTLIST volume unite CDATA "cl">
     
    <!ELEMENT composition (ion+,autre_materiau*)>
    <!ELEMENT ion (materiau, quantite)+>
    <!ELEMENT materiau (#PCDATA)>
    <!ELEMENT quantite (#PCDATA)>
      <!ATTLIST quantite unite CDATA "mg/l">
    <!ELEMENT autre_materiau (#PCDATA)>
     
    <!ELEMENT lieu (ville, departement)>
    <!ELEMENT ville (#PCDATA)>
    <!ELEMENT departement (#PCDATA)>
    XSL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="html4.01" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" />
     
    	<xsl:template match="/">
    	<html>
    		<head>
     
    		</head>
    		<body>
    			<div  class="bouteille">
    			<xsl:for-each select="bouteille/source">
    				<h2>Bouteille de marque <xsl:value-of select="nom"/></h2>
    				<h3>Code barre : <xsl:value-of select="codeBar"/></h3>
    				<h3>Volume : <xsl:value-of select="volume"/> <xsl:value-of select="volume@unite"/> </h3>
    				<h3>composition :</h3>
    					<xsl:for-each select="composition/ion">
    						<p><xsl:value-of select="materiau"/> 
    						<xsl:value-of select="quantite"/>
    						 <xsl:value-of select="quantite@unite"/></p>
    					 </xsl:for-each>
    				<h3>Lieu d'origine : </h3>
    				<p>Ville de <h3><xsl:value-of select="lieu/ville"/></h3>, dans le 
    				departement <h3><xsl:value-of select="lieu/departement"/></h3></p>
     
    			</xsl:for-each>
    			</div>
    		</body>
    	</html>
    	</xsl:template>
    </xsl:stylesheet>
    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Bonjour

    Ce serait pas mal déjà que tu formate proprement ton post avec les balises codes, parce-que là c'est limite lisible !

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Par défaut
    tu es raison, mais C'est mon premier sujet sur le forum donc je ne connais pas qu'il existe ce genre de "balise code". j'espere qu'il est maintenant lisible.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    1/ ben c'est pas encore ca... regarde un peu comment sont formatés les posts dans la rubriques (tu t'amuseras à essayer de récupérer ton code avec les ***)

    2/ Tu nous donnerais l'erreur XSL ca nous faciliterait le travail

    3/ tu as des balises non fermées dans ton XSLT, essaye déjà de formater correctement ton code avant tout et tu verras ca ira beaucoup mieux

    4/ http://xml.developpez.com/faq/

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Par défaut
    Merci,pour les * quand j'ai fais copier/coller la 1ère fois elle s'ajoutent toutes seuls.
    pour les balises non-fermés, j'utilise editix 2008 et quand je teste le message "your document is correct" s'affiche, donc y'a pas de problème au niveau balise, y'a pas d'autres de solutions

  6. #6
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Je viens de te dire qu'il y a une balise non fermée dans l'exemple que tu as fourni.

    A toi de voir maintenant si tu veux avancer ou non...

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par MEH2010DDI Voir le message
    Merci,pour les * quand j'ai fais copier/coller la 1ère fois elle s'ajoutent toutes seuls.
    Le forum n'ajoute rien tout seul. Par contre il remplace chaque espace insécable par une étoile *, pour qu'on puisse les voir facilement et qu'on ne les confonde pas avec des espaces normaux.
    Donc a priori, ça veut dire que ton code est plein d'espaces insécables. Ce qui est bien sûr une erreur.

    Citation Envoyé par MEH2010DDI Voir le message
    pour les balises non-fermés, j'utilise editix 2008 et quand je teste le message "your document is correct" s'affiche, donc y'a pas de problème au niveau balise, y'a pas d'autres de solutions
    Peu importe qui dit quoi.
    Le code que tu nous montres contient des balises non-fermées, des balises mal fermées, et probablement une pléthore d'espaces insécables à la place d'indentation. Ce sont tous les trois des erreurs, c'est comme ça, et si quelque chose ou quelqu'un dit le contraire, il a tort et c'est tout. Ça ne se discute pas.

    Donc plusieurs possibilités :
    - Tu croyais avoir demandé à editix de valider tes fichiers, mais en fait tu lui as demandé complètement autre chose et c'est à ça qu'il a répondu "your document is correct"
    - editix se plante complètement
    - les fichiers que tu as fait vérifier par editix ne sont pas ce que tu nous montres ici.

    Il va donc falloir que tu vérifies tout ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion XML en HTML via XSL
    Par firl82 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 06/08/2013, 08h12
  2. [DOM] transformer un xml en html (en utilisant java)
    Par med_ellouze dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 12/08/2010, 14h18
  3. [XSLT] Transformer un xml en HTML : problème sur les liens
    Par elhout dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/03/2007, 10h46
  4. [XSLT] probleme de copie de balise de XML vers HTML via XSL
    Par Clercq dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 27/11/2006, 13h52
  5. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 22h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo