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

ANT Java Discussion :

renvoyer la sortie standard vers un fichier


Sujet :

ANT Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 7
    Points
    7
    Par défaut renvoyer la sortie standard vers un fichier
    Bonjour,

    J'ai un programme java qui tranforme un fichier xml en fichier html.
    Il prend argument un feuille de style xsl un fichier xml et envoi le code html correspondant sur la sortie standard.

    J'aimerai savoir comment faire un build.xml qui redirige la sortie html dans un fichier html de même nom que le fichier xml (avec l'extension html).

    exemple:

    ant stylesheet.xsl file1.xml

    renvoie la sortie html dans un fichier file1.html

    Merci.

  2. #2
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    Rien de plus simple, dans ton fichier ANT, tu a un appel à une tache java qui lance ton programme. Sur cette tache définit la propriété output pour choisir le fichier de sortie.

    Reste le problème de générer le nom du fichier de sortie à partir du fichier d'entrée. Pour cela une petite manipulation de la propriété contenant le nom du fichier xml fera l'affaire. Tu peux utiliser la tache PropertyRegexp de AntContrib.
    Ca donne cela dans ton build ANT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	<taskdef resource="net/sf/antcontrib/antlib.xml"/>
        <target name="default">
        	<echo message="xsl file:${xsl.file} xml file:${xml.file}"/>
        	<propertyregex 
    			property="html.file" 
        		input="${xml.file}"
        		regexp="(.*).xml"
        		replace="\1.html"
        	/>
        	<echo message="html file:${html.file}"/>
     
        	<!-- todo ajouter ton appel à ta classe java -->
        </target>
    Puis tu appelles ton build de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    D:\>ant -Dxml.file=myfile.xml -Dxsl.file=myfile.xsl
    Buildfile: build.xml
     
    default:
         [echo] xsl file:myfile.xsl xml file:myfile.xml
         [echo] html file:myfile.html
     
    BUILD SUCCESSFUL
    Total time: 0 seconds
    Matthieu

Discussions similaires

  1. Dévier la sortie standard vers un fichier
    Par Amnesiak dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2008, 08h32
  2. Redirection de flux standard vers des fichiers
    Par raoulchatigre dans le forum C++
    Réponses: 8
    Dernier message: 29/01/2008, 11h27
  3. Rediriger une sortie standard vers le presse-papier du bureau
    Par Schmorgluck dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 13/04/2007, 23h15
  4. rediriger la sortie standard vers un textarea
    Par gromite dans le forum Composants
    Réponses: 9
    Dernier message: 10/05/2004, 11h07
  5. Réponses: 5
    Dernier message: 24/12/2003, 09h49

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