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

XML/XSL et SOAP Discussion :

comment définir une variable et la concaténer dans un fichier XML ?


Sujet :

XML/XSL et SOAP

  1. #1
    Membre régulier
    Inscrit en
    novembre 2004
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : novembre 2004
    Messages : 368
    Points : 124
    Points
    124
    Par défaut comment définir une variable et la concaténer dans un fichier XML ?
    Bonjour,
    On m'a donné un fichier log4net.config qui définit une dizaine de fichiers de logs en définissant en dur leur chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <file value="\\path\dir1\Logs\LOG1.log" />
    ...
    <file value="\\path\dir1\Logs\LOG3.log" />
    ...
    <file value="\\path\dir1\Logs\LOG2.log" />
    ...
    Je voudrais le modifier pour définir une variable logPath qui vaudrait "\\path\dir1\Logs\" et concaténer ensuite cette valeur à la partie distincte de chacun de mes fichiers de logs.
    Sauf qu'il semble y avoir plusieurs manières de définir une variable en XML : comme ceci ou comme cela ou encore comme ça (cf 1ère réponse avec declare/set).
    Quelle est la meilleur manière pour pouvoir ensuite concaténer cette variable à mes différents fichiers de log pour avoir quelque chose comme ça ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <file value=&logPath+"LOG1.log" />
    ...
    <file value=&logPath+"LOG3.log" />
    ...
    <file value=&logPath+"LOG2.log" />
    ...
    Je ne sais pas si la concaténation se fait comme cela, je n'arrive pas à trouver, ni même peut-être l'appel à la variable logPath, donc si vous savez je suis preneur aussi bien sûr.
    Merci pour votre aide,
    NB : Je ne veux pas passer par une variable d'environnement.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : septembre 2004
    Messages : 12 285
    Points : 20 790
    Points
    20 790
    Par défaut
    Hello,

    ça n'existe pas. XML n'est pas un langage de programmation, il n'y a pas de variable.

    Plus exactement, celui qui a donné un sens à tes balises <file> et leur attribut value, peut aussi avoir ajouté une notion de variable. Ça existe dans les fichiers de config XML de log4j par exemple. Mais nous ne pouvons pas deviner s'il y en a dans tes fichiers XML avec leurs balises <file>. Il faudrait nous dire où tu es allé chercher ça.

    Les exemples deux et trois que tu donnes en lien n'ont rien à voir. Ils utilisent des langages de programmation qui lisent et écrivent du XML.

    Le premier exemple que tu donnes en lien, ressemble un peu à ce que tu demandes... Mais ce n'est pas bon pour ce que tu essaies de faire. Laisse tomber.

    Ça n'existe pas, ou alors, c'est tes fichiers avec leurs balises <file> qui définissent comment on fait des variables, et nous on peut pas deviner si tu ne dis pas d'où viennent ces fichiers.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Inscrit en
    novembre 2004
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : novembre 2004
    Messages : 368
    Points : 124
    Points
    124
    Par défaut
    Bonjour,
    Merci pour le retour.
    Comme précisé dans mon post, il s'agit bien du contenu d'un fichier log4net.config. Ce n'est pas un fichier généré ou utilisé par un quelconque autre programme.
    Je comprends effectivement que les exemples 2 et 3 ne s'appliquent pas à mon cas.
    Le premier exemple semble par contre bien être OK pour ce que je veux, ce qui me manquerait c'est comment faire la concaténation. J'imagine qu'il faut donc que je me retrouve avec un fichier qui ressemble à ça :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE variable [
      <!ENTITY prefixurl "\\path\dir1\Logs\">
    ]>
    <configuration>
    ...
    	<log4net>
     
    		<appender name="ALL_APPENDER" type="log4net.Appender.RollingFileAppender">
    			<file value="&prefixurl;LOG1.log" />
    		...
    		</appender>
    		<appender name="ALL_APPENDER" type="log4net.Appender.RollingFileAppender">
    			<file value="&prefixurl;LOG2.log" />
    		...
    		</appender>
    ...
    	</log4net>
    </configuration>
    Mais je n'arrive pas à trouver la bonne manière pour saisir les file value, c'est là-dessus que j'aurais besoin d'aide s'il vous plaît.
    Merci d'avance

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : septembre 2004
    Messages : 12 285
    Points : 20 790
    Points
    20 790
    Par défaut
    D'accord je trouvais que ça ne ressemble pas à un nom de format connu, mais j'avais tort.

    Par contre je le connais pas ce format, donc je peux pas dire s'il définit des variables.

    Concernant l'utilisation d'entités, je t'aurais prévenu, c'est pas bon pour ça. Quand ça se remarque et que toi et ta société ou que sais-je vous passez pour des clowns, le moins qu'on puisse dire c'est que tu le savais.

    La concaténation est très bien dans ton dernier exemple. Ce qui ne va pas c'est le doctype. L'élément racine semble être <configuration> et non pas <variable>. Juste après DOCTYPE il faut mettre le nom de l'élément qui contient tous les autres. Ça s'appelle l'élément racine.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2016, 15h42
  2. Comment définir une variable connu par tous les évènements
    Par whitespirit dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/06/2008, 14h55
  3. Réponses: 1
    Dernier message: 16/11/2006, 13h33
  4. Réponses: 2
    Dernier message: 22/08/2006, 11h28
  5. Réponses: 2
    Dernier message: 29/06/2006, 13h58

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