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 :

probleme de transformation avec xsl


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Points : 20
    Points
    20
    Par défaut probleme de transformation avec xsl
    bonjour, j'ai un fichier XML de cette forme :
    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
     
    <?xml-stylesheet type="text/xsl" href="transform.xsl"?>
    <?xml version="1.0" encoding="UTF-8"?>
     
    <classe>Book
    <attribut>title</attribut>
    <attribut>pages</attribut>
    <attribut>category</attribut>
    </classe>
     
    <classe>Writer
    <attribut>name</attribut>
    </classe>
     
    <classe>Library
    <attribut>name</attribut>
    </classe>
    En utilisant ce fichier xml je veux le transformer avec xslt de telle sorte que j'aurais quelque chose de ce genre.
    Exemple:

    public class Book {
    private String title;
    private String pages;
    private String category;
    }
    Ainsi de suite pour le reste.

    Mon problème c'est que je n'ai pas réussi à afficher ces trois classes en même temps. , en plus je voulais savoir si je peux avoir ce resultat dans un fichier d'extension ".java"

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    C'est la mode de vouloir faire du java à partir de XML ?

    Quoi qu'il en soit le XSL que tu demandes n'est pas bien compliqué. Après si tu veux générer ça dans un fichier .java, c'est en amont du XSL (ce qui récupère le DOM transformé donc) que ça se gère. Comme tu ne nous en dis pas plus sur comment tu appliques ton XSL au XML, on ne pourra pas t'aider là-dessus mais c'est faisable aussi.

    Pour ton problème, je pense que ton XSL est bon si, si j'ai bien compris, tu arrives à avoir une transformation réussie avec une seule classe. Seulement ton XML est malformé : il a plusieurs racines.
    Un fichier XML ne doit avoir qu'un seul élément racine. C'est assez contraignant mais c'est ainsi.
    Essaye de modifier ton XML comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <classes>
      <classe>...</classe>
      <classe>...</classe>
    </classes>

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Bonjour;
    Merci pour votre réponse, voila mon code xslt:
    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
     
    <?xml version="1.0" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    	<xsl:template match="classe">
     
    		<p><u><xsl:value-of select="."/></u></p>
    	</xsl:template>
     
    	<xsl:template match="attribut">
    		<p><b><xsl:value-of select="."/></b></p>
    	</xsl:template>
    	<xsl:template match="/">
    		<html>
    		<body>
    		<xsl:apply-templates/>
    		</body>
    		</html>
    	</xsl:template>
     
    </xsl:stylesheet>
    Et lorsque j'ai ajouté la racine <classes> dans mon fichier xml comme vous m'avez dis il m'a afficher les 3 classes avec leurs attributs avec sucées.
    Ce qui reste maintenant c'est comment avoir la forme que j'ai cité en haut en fichier java.

    Merci beaucoup pour votre aide.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Un fichier .java ne peut contenir qu'une seule classe publique, normalement il faut donc un fichier .java par classe publique.
    Et je ne sais pas trop comment créer plusieurs fichiers par transformation XSLT. Je sais que c'est faisable en XSLT 2.0 mais je n'ai pas appris à le faire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Et comment s'il vous plait, je peux utiliser le xslt 2 pour générer le code java souhaité, vraiment je suis coincé dans cette étape. , même sur le net j'ai pas trouvé une documentation pour ça.

    Merci pour votre aide.

Discussions similaires

  1. probleme de tri avec xsl:sort
    Par d4v1d dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2007, 15h35
  2. Réponses: 4
    Dernier message: 27/04/2007, 21h54
  3. [XSLT] Problème d'indentaion avec XSL
    Par Najdar dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 18/08/2006, 08h38
  4. probleme avec xsl
    Par rootdaoud dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 28/04/2006, 20h40
  5. des problems avec xsl:if
    Par moh_yougo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/02/2006, 09h32

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