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 :

[XSL]Copie de document


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Par défaut [XSL]Copie de document
    Bonjour tout le monde,

    J'ai un petit souci pour copier un document dans un autre.
    J'ai plusieurs rapports de projets générés dynamiquement en XML et il faut que j'en fasse des résumés (un pour chaque).

    Voici la structure d'un rapport :
    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
    <coverage>
     <packages>
      <package name="entreprise.nomApplication1">
       <classes>
        <classe name="entreprise.nomApplication.nomClasse1">
        </classes>
        <classe name="entreprise.nomApplication1.nomClasse2">
        </classes>
        <classe name="entreprise.nomApplication1.nomClasse3">
        </classes>
       </classes>
      </package>
      <package name="entreprise.nomApplication2">
       <classes>
        <classe name="entreprise.nomApplication2.nomClasse1">
        </classes>
        <classe name="entreprise.nomApplication2.nomClasse2">
        </classes>
       </classes>
      </package>
     </packages>
    </coverage>
    Le problème c'est qu'il faut que je copie ou non en fonction du nom de l'application. Je sais si l'expression de recherche est correcte, mais voila les packages qu'il faut que je copie :
    [@name='*.${application}.*.(manager.impl|facade.impl|service.impl)']

    J'ai chercher sur le net pour faire des copie de noeud. En test je voulais juste copier le fichier tout en entier, mais cela ne fonctionnait pas. Je copiais juste l'indentation du fichier!!

    Merci d'avance
    Julien @+

  2. #2
    Membre Expert 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
    Par défaut
    Il faudrait poster un exemple du XML source, le XSL qui pose problème et le XML résultat souhaité.

    En tout cas, XPath 1.0 ne permet pas de traiter des expressions régulières (XPath 2.0 en est capable...) ou des wildcards...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Par défaut
    En faite, le code du xsl servait juste dans un premier temps a copier tout le fichier xml dans un autre, mais sans résultat.

    Sinon, je suis en alternance, et je retournerais lundi prochain en entreprise.
    Je te donnerais ce qu'il faut la semaine prochaine

    Merci @+

  4. #4
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    si tu veux juste une tranformation xslt pour copier un document xml voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transfor    m">
    <xsl:output 
             encoding="ISO-8859-15"
             method="xml"
             indent="yes" />
     
         <xsl:template match="node() | @*">
             <xsl:copy>
                 <xsl:apply-templates select="@* | node()"/>
             </xsl:copy>
         </xsl:template>
    </xsl:stylesheet>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Par défaut
    Bonjour,

    me revoila en entreprise

    Excusez moi, je n'ai pas été très clair dans mes explications. Je recommence donc^^

    Voilà:
    Il faudrait que je copie partiellement le fichier XML (dans un autre fichier) dont j'ai mis la structure sur mon premier post.
    Pour l'instant, je passe par un fichier XSL, mais si on peut le faire directement avec ANT pourquoi pas!
    La condition de copie serait sur le nom du package :
    - name='*.${application}.*.service.impl'
    - name='*.${application}.*.facade.impl'
    - name='*.${application}.*.manager.impl'

    La variable ${application} est passée en paramètre depuis le fichier XML.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Par défaut
    EDIT : Arf, j'ai voulu corriger une faute, et j'ai cliqué sur citer au lieu d'éditer !!

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

Discussions similaires

  1. [XSL] copy-of select avec un "|" possible?
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/11/2005, 09h51
  2. [XSL] Erreur : Ce document a déjà un noeud DocumentElement
    Par luimême dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/11/2005, 18h22
  3. [XSL-FO] fonction document()
    Par bob33 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/05/2005, 10h07
  4. [XSL] Transformation de document xml
    Par youbyoub dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/04/2005, 16h13
  5. [XSL]Copie du contenu d'un fichier en XSL
    Par fidififouille dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 16/06/2004, 12h35

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