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] non prise en compte de donnée


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club Avatar de alexorcet
    Inscrit en
    Mai 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 86
    Points : 50
    Points
    50
    Par défaut [XSLT] non prise en compte de donnée
    Bonsoir à tous
    j'essaye d'afficher les element de mon fichier xml dans une page html en les mettant dans un tableau.
    voici mon fichier xsd
    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
    62
    63
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:template match="/">
    		<html xmlns="http://www.w3.org/1999/xhtml">
    			<head>
    				<title>Base de Donnees</title>
    			</head>
    			<body>
    				<xsl:apply-templates/>
    			</body>
    		</html>
    	</xsl:template>
     
    	<xsl:template match="Table">
    		<Table style="border-collapse: collapse; border: 1pt solid white" cellspacing="1" bgcolor="000000">
    			<th bgcolor="green" colspan="4" width="500">
    			<xsl:value-of select="@NomTable"/>
    			</th>
    			<td bgcolor="green" width="250">
    			<xsl:apply-templates select="Colonne"/>
    			</td>
    		</Table>		
    	</xsl:template>
     
    	<xsl:template match="Colonne">		
    		<tr>
    			<td bgcolor="cyan" width="200">
    				<xsl:value-of select="@nom"/>
    			</td>	
     
    			<td bgcolor="blue" width="250">				
    				<xsl:apply-templates select="DataType"/>				
    			</td>
    		</tr>					
    	</xsl:template>
     
    	<xsl:template match="DataType">		
     
    				<xsl:value-of select="@type"/>
    				<xsl:value-of select="@taille"/>
    				<xsl:apply-templates select="Contrainte"/>				
     
    	</xsl:template>
     
     
    	<xsl:template match="Concactrainte">			
     
                <td bgcolor="cyan" width="200">
    		<xsl:value-of select="@type"/>
                    </td>
                    <td bgcolor="cyan" width="200">
                    <xsl:value-of select="@nom"/>
                    </td>
     
    		<xsl:apply-templates />	
    	</xsl:template>
     
     
     
    </xsl:stylesheet>
    le resultat aprés execution de la transformation avec la methode suivante:
    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
          public static void XSLT(String file) throws IOException, TransformerException
        {
            File stylesheet = new File("....BD.xslt");
            File srcFile = new File(file);
            File destFile = new File("...output.html");
            //java.io.Writer destFile = new OutputStreamWriter(System.out, "ISO-8859-1");
     
            TransformerFactory factory = TransformerFactory.newInstance();
            Source xslt = new StreamSource(stylesheet);
            Transformer transformer = factory.newTransformer(xslt);
     
            Source request = new StreamSource(srcFile);
            Result response = new StreamResult(destFile);
            transformer.transform(request, response);
    }
    le resultat out.html ne contient que mes element (table,colonne et datatype)mais pas (contrainte) et je ne comprend pas pk.
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Base de Donnees</title>
    </head>
    <body>
     
    <Table style="border-collapse: collapse; border: 1pt solid white" cellspacing="1" bgcolor="000000">
    <th bgcolor="green" colspan="4" width="500">Table1</th>
    <td bgcolor="green" width="250">
    <tr>
    <td bgcolor="cyan" width="200">Colonne11</td>
    <td bgcolor="blue" width="250">chaineFixe20</td>
    </tr>
    <tr>
    <td bgcolor="cyan" width="200">Colonne12</td>
    <td bgcolor="blue" width="250">chaineVariable30</td>
    </tr>
    </td>
    </Table>
    <Table style="border-collapse: collapse; border: 1pt solid white" cellspacing="1" bgcolor="000000">
    <th bgcolor="green" colspan="4" width="500">Table2</th>
    <td bgcolor="green" width="250">
    <tr>
    <td bgcolor="cyan" width="200">Colonne21</td>
    <td bgcolor="blue" width="250">chaineFixe20</td>
    </tr>
    <tr>
    <td bgcolor="cyan" width="200">Colonne22</td>
    <td bgcolor="blue" width="250">chaineVariable30</td>
    </tr>
    </td>
    </Table>
    <Table style="border-collapse: collapse; border: 1pt solid white" cellspacing="1" bgcolor="000000">
    <th bgcolor="green" colspan="4" width="500">Table3</th>
    <td bgcolor="green" width="250">
    <tr>
    <td bgcolor="cyan" width="200">Colonne31</td>
    <td bgcolor="blue" width="250">chaineFixe20</td>
    </tr>
    <tr>
    <td bgcolor="cyan" width="200">Colonne32</td>
    <td bgcolor="blue" width="250">chaineVariable30</td>
    </tr>
    </td>
    </Table>
    </body>
    </html>
    et voici le dtd si ça peut aider qlqn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
     
     
    <!ELEMENT DataType (#PCDATA)>
    <!ELEMENT Contrainte (#PCDATA)>
    <!ELEMENT Colonne (DataType,Contrainte*)>
    <!ELEMENT Table (Colonne*)>
    <!ATTLIST Table NomTable CDATA #REQUIRED >
    <!ELEMENT BaseDonnee (Table+)>
    <!ATTLIST Contrainte type (non_nul|unique|auto_increment) #REQUIRED >
    <!ATTLIST Contrainte nom  CDATA #REQUIRED >
    <!ATTLIST Colonne nom  CDATA #REQUIRED >
    <!ATTLIST DataType type  CDATA #REQUIRED taille CDATA #IMPLIED>
    et la structure de mon fichier xml ressemble a ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <Table NomTable = "Table1">  
      <Colonne nom = "Colonne11">
            <DataType type = "chaineFixe" taille= "20"/>
                 <Contrainte type="non_nul" nom="contrainte_non_nul"/>
      </Colonne>
      <Colonne nom = "Colonne12">
            <DataType type = "chaineVariable" taille= "30"/>
                 <Contrainte type="non_nul" nom="contrainte_non_nul"/>
      </Colonne>
    </Table>
    pourriez vous m'aider svp??

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Une faute de frappe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="Concactrainte">
    plutôt que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="Contrainte">
    Une remarque générale : il faut vous habituer à bien respecter la hiérarchie des éléments XHTML parce que, là, ça fait peur !

  3. #3
    Membre du Club Avatar de alexorcet
    Inscrit en
    Mai 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 86
    Points : 50
    Points
    50
    Par défaut
    ça va toujours pas le problème ne vient pas apparament de ma faute de frappe
    Merci

  4. #4
    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 : 48
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    dans ton xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <DataType type = "chaineVariable" taille= "30"/>
                 <Contrainte type="non_nul" nom="contrainte_non_nul"/>
    Contrainte n'est pas fils de DataType

    d'ou ceci ne peut pas fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<xsl:template match="DataType">		
     
    				<xsl:value-of select="@type"/>
    				<xsl:value-of select="@taille"/>
    				<xsl:apply-templates select="Contrainte"/>				
     
    	</xsl:template>

Discussions similaires

  1. [IP-2010] Données externes non prises en compte dans le formulaire
    Par ateppaz dans le forum InfoPath
    Réponses: 4
    Dernier message: 13/01/2014, 09h20
  2. Formulaire : Données non prise en compte
    Par marco_fot_hxc dans le forum ASP
    Réponses: 8
    Dernier message: 27/05/2008, 09h29
  3. [XSLT][javascript] modif de param non prise en compte ss FF
    Par Eileen dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 04/05/2007, 14h56
  4. [netbeans] Modifications non prises en compte
    Par nadass dans le forum NetBeans
    Réponses: 6
    Dernier message: 07/04/2005, 13h49
  5. Lecture de fichier - dernière ligne non prise en compte
    Par JulienPles dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h57

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