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 :

[XSLT] Problème affichage d'un noeud


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Par défaut [XSLT] Problème affichage d'un noeud
    Bonjour,

    J'ai un problème avec une feuille de style XSL.

    J'ai un document XML qui contient un élément <domaine> qui contient du texte et j'aimerais afficher ce texte, or cela ne fonctionne pas. La balise est bien détectée (si je fais un count(), cela me renvoie "1") par contre rien ne s'affiche si j'effectue un text() ou . ou current().

    Si j'ajoute un attribut à cet élément alors là le contenu de l'élément s'affiche avec le value-of select"."! J'ai vraiment de la peine à comprendre ce phénomène....

    Les attributs s'affichent eux sans problème....

    Voici ma feuille de style :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="..\SCHEMA~1\institutsSchema.xsd">
    	<xsl:output method="html" encoding="iso-8859-1"/>
    	<xsl:template match="/">
    		<div>
    			<xsl:apply-templates select="instituts"/>
    		</div>
    	</xsl:template>
    	<xsl:template match="instituts">
    		<xsl:apply-templates select="ecole"/>
    	</xsl:template>
    	<xsl:template match="ecole">
    		<h1>
    			<xsl:value-of select="@nom"/>
    		</h1>
    		<xsl:apply-templates select="institut"/>
    	</xsl:template>
    	<xsl:template match="institut">
    		<h2>
    Institut <a href="{@url}">
    				<xsl:value-of select="@nom"/>
    			</a>
    		</h2>
     
    		<table border="1">
    			<tr>
    				<td>Domaine</td>
    				<td>
    					<xsl:apply-templates select="domaine"/>
    				</td>
    			</tr>
    			<tr>
    				<td>Axes de recherche</td>
    				<td>
    				<xsl:apply-templates select="axe"/>
    				</td>
    			</tr>
    		</table>
    	</xsl:template>
    	<xsl:template match="domaine">
    	<xsl:copy-of select="."/>
    	</xsl:template>
    	<xsl:template match="axe">
    	<xsl:copy-of select="."/>
    	</xsl:template>
    </xsl:stylesheet>
    et un extrait de mon fichier 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
    	<ecole nom="HES-SO Fribourg">
    		<institut nom="Technologies industrielles" url="http://www.eif.ch/fr/rad/institut-tin/presentation.htm">
    			<domaine>
    				Sciences de l'ingénieur, pôle des Technologies industrielles 
    			</domaine>
    			<axe>Analyse et simulation</axe>
    			<axe>Chimie industrielle et appliquée</axe>
    			<axe>Energie</axe>
    			<axe>Systèmes intégrés</axe>
    		</institut>
    		<institut nom="Technologie de l'information et de la communication" url="http://www.eif.ch/fr/rad/institut-tic/presentation.htm">
    			<domaine lulu="test">Multimédia et systèmes d'information</domaine>
    			<axe>Multimédia et systèmes d'information</axe>
    			<axe>Systèmes de communication</axe>
    			<axe>Systèmes Mobile</axe>
    			<axe>Grid &amp; Ubiquitous Computing</axe>
    		</institut>
    	</ecole>
    Voilà merci d'avance pour votre réponse, j'espère que vous pourrez m'aider!

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    le seul endroit ou tu parse domaine tu fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:copy-of select="."/>
    Vu que ce n'est pas une balise html (au vu de ce que tu produit) cela ne risque pas de s'afficher correctement.Si tu veux afficher le résultat pourquoi n'utilise tu pas un value-of pas clair tout ça...

  3. #3
    Membre éclairé

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Par défaut
    Oui tout à fait d'accord pour le value-of select à la place du copy-of. Le copy-of n'était qu'un test pour voir si cela affichait quelque chose cela est une erreur de ma part de l'avoir laissé comme cela. Même avec le value-of cela ne fonctionnait pas.

    Par contre après quelques heures de recherche j'ai réussi à voir d'où venait le problème! J'utilise XML-SPY et c'est avec le moteur xslt de celui-ci que j'essayais de créer mon fichier html. L'affichage était alors erroné. Je me suis rendue compte après avoir essayé d'afficher mon fichier XML dans un browser (FireFox) en lui attribuant ma feuille de style xslt que les données étaient tout à fait correctes.

    Voilà mon problème est résolu au moins la prochaine fois c'est la première chose que je testerai quand j'aurai un problème de ce style

Discussions similaires

  1. [XSLT] problème affichage dans Firefox Recherche :
    Par Scipion80 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/09/2009, 20h07
  2. [XSLT ]Problémes avec un Xpath - noeud courant
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 01/12/2007, 19h56
  3. [XSLT] Problème affichage sous Firefox et pour IE OK
    Par SkyDev dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 26/02/2007, 10h09
  4. JTree : problème d'affichage ajout/suppression noeud
    Par rnan dans le forum Composants
    Réponses: 3
    Dernier message: 07/04/2006, 08h12
  5. [XSLT]Problème de séléction du noeud courrant
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/08/2005, 07h51

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