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

XMLRAD Discussion :

Instruction FILE : Renommer le conteneur


Sujet :

XMLRAD

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut Instruction FILE : Renommer le conteneur
    Comment renommer le conteneur du "Select" de la méthode "LOAD" en sortie "OUTPUT"?

    Merci.
    Alain
    ______________________________
    Delphi7+XmlRAD2005+WS2003+IIS

  2. #2
    Membre actif Avatar de Jeweller
    Inscrit en
    août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Je ne suis pas sur d'avoir bien compris...
    Tu veux dire en mettant une template dans FieldName?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <File Name="PageBT">
    	<Method>LOAD</Method>
    	<FileName>{$FILE}</FileName>
    	<HashMod/>
    	<HashLevel/>
    	<Usage/>
    	<Fragments/>
    	<FieldName>{$FIELDNAME}</FieldName>
    	<Cached>TRUE</Cached>
    	<Destination>Output</Destination>
    </File>
    J'ai pas testé, mais ca devrait le faire...
    Michael

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    Non : Je n'ai pas été très clair.
    Par exemple, le fichier xmlmodule.xml :
    <XMLModules>
    <XMLModule>
    <Name>dmdXMLAdm</Name>
    </XMLModule>
    <XMLModule>
    <Name>XMLC</Name>
    </XMLModule>
    </XMLModules>

    j'aimerai en sortie OUTPUT, avoir comme nom de conteneurs non pas
    <XMLModules> mais <monXMLModules>...

    Est-il possible de le faire sans coder en Delphi?
    Alain
    ______________________________
    Delphi7+XmlRAD2005+WS2003+IIS

  4. #4
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2002
    Messages : 1 424
    Points : 2 871
    Points
    2 871
    Par défaut
    ca va être un peu difficile. tu peux changer le fieldname qui est le document au dessus de cela et faire un select sur les fils pour que le conteneur soit le fieldname
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    J'ai la version XMLRAD Version 2005 (2004-11-30 09:52:04)

    J'ai beau changer les valeurs de "Field name"--> aucun changement dans le Output.
    Est-ce normal ?

    J'ai besoin de récupérer de fichier XML des éléments et de pouvoir les identifier dans le "OUTPUT".Mes fichiers XML sont tous composer de la meme façon.
    ex:
    fichier1.xml
    <champs>
    <champ>valeur1</champ>
    <champ>valeur2</champ>
    <champ>valeur3</champ>
    </champs>
    fichier2.xml
    <champs>
    <champ>valeur1</champ>
    <champ>valeur2</champ>
    <champ>valeur3</champ>
    </champs>
    dans mon xmlgram, j'ai 2 instructions FILE;
    En sortie OUTPUT, j'ai :
    <champs>
    <champ>valeur1</champ>
    <champ>valeur2</champ>
    <champ>valeur3</champ>
    </champs>
    <champs>
    <champ>valeura</champ>
    <champ>valeurb</champ>
    <champ>valeurc</champ>
    </champs>
    sans pouvoir distinguer ce qui vient de fichier1.xml et de fichier2.xml.
    C'est inexploitable dans ce cas de figure.

    Ne pourrait-on pas avoir une propriété "contener name" dans FILE comme pour le DBEXTRACT?
    C'est fustrant d'avoir une instruction FILE qui manipule les fichiers XML et d'etre limité ....
    Alain
    ______________________________
    Delphi7+XmlRAD2005+WS2003+IIS

  6. #6
    Membre actif Avatar de Jeweller
    Inscrit en
    août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    J'ai beau changer les valeurs de "Field name"--> aucun changement dans le Output.
    Est-ce normal ?
    Ben non justement. FieldName te permet de faire exactement ce que tu recherches. Je l'utilise aussi (version 2005) et ca fonctionne bien. Tu passes par xmlrad pour modifier ton xmlgram ou tu le modifies à la main ? Si tu le fais à la main vérifie ta syntaxe par rapport à mon post un peu plus haut. Sinon avec un FieldName différent tu devrais avoir ce que tu veux. Es tu sur de ton coup ? Colle ici ton xmlgram sinon.

    Michael

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    Je ne passe que par XMLRAD pour modifier les fichiers de conf.
    voici le .xmlgram, avec 2 instructions FILE:
    <File Name="VTECDE">
    <Method>LOAD</Method>
    <FileName>{$XMLC_AppPath}VteCdeEM.XMLServices.xml</FileName>
    <HashMod/>
    <HashLevel/>
    <Usage/>
    <Cached>FALSE</Cached>
    <Source>CONTEXT</Source>
    <Select>/XMLServices</Select>
    <Destination>OUTPUT</Destination>
    <FieldName>mesVTECDE</FieldName>
    <Unicode>TRUE</Unicode>
    <Trace>
    <BeforeInstruction/>
    <AfterInstruction/>
    </Trace>
    <Fragments/>
    </File>
    <File Name="VTEMVT">
    <Method>LOAD</Method>
    <FileName>{$XMLC_AppPath}VteMvtEM.XMLServices.xml</FileName>
    <HashMod/>
    <HashLevel/>
    <Usage/>
    <Cached>FALSE</Cached>
    <Source>CONTEXT</Source>
    <Select>/XMLServices</Select>
    <Destination>OUTPUT</Destination>
    <FieldName>VTEMVTS</FieldName>
    <Unicode>TRUE</Unicode>
    <Trace>
    <BeforeInstruction/>
    <AfterInstruction/>
    </Trace>
    <Fragments/>
    </File>
    et voici le resultat obtenu en OUTPUT (xmlc_outformat=xml)
    - <XMLServices>
    - <XMLService>
    <Name>AProposVteEM</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>AProposVteEM.xsl</XSL>
    <XML>AProposVteEM.xml</XML>
    <XSD />
    <XMLGram>AProposVteEM.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    + <XMLService>
    <Name>VteCdeEM_ARC</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>VteCdeEM_ARC.xsl</XSL>
    <XML>VteCdeEM_ARC.xml</XML>
    <XSD />
    <XMLGram>VteCdeEM_ARC.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    + <XMLService>
    <Name>VteCdeEM_ListARCVCLI</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>VteCdeEM_ListARCVCLI.xsl</XSL>
    <XML>VteCdeEM_ListARCVCLI.xml</XML>
    <XSD />
    <XMLGram>VteCdeEM_ListARCVCLI.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    + <XMLService>
    <Name>VteCdeEM_ListARCBART</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>VteCdeEM_ListARCBART.xsl</XSL>
    <XML>VteCdeEM_ListARCBART.xml</XML>
    <XSD />
    <XMLGram>VteCdeEM_ListARCBART.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    </XMLServices>
    - <XMLServices>
    - <XMLService>
    <Name>VteMvtEM_ALivrerDate</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>VteMvtEM_ALivrerDate.xsl</XSL>
    <XML>VteMvtEM_ALivrerDate.xml</XML>
    <XSD />
    <XMLGram>VteMvtEM_ALivrerDate.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    + <XMLService>
    <Name>VteMvtEM_BLRetour</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>VteMvtEM_BLRetour.xsl</XSL>
    <XML>VteMvtEM_BLRetour.xml</XML>
    <XSD />
    <XMLGram>VteMvtEM_BLRetour.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    + <XMLService>
    <Name>VteMvtEM_ListMVTVCLI</Name>
    <Kind>RM</Kind>
    <NextAction />
    <ExceptionAction />
    <DataSource />
    <Debug />
    <Scope>Public</Scope>
    <XSL>VteMvtEM_ListMVTVCLI.xsl</XSL>
    <XML>VteMvtEM_ListMVTVCLI.xml</XML>
    <XSD />
    <XMLGram>VteMvtEM_ListMVTVCLI.xmlgram</XMLGram>
    <ScriptFile />
    </XMLService>
    </XMLServices>
    - <XMLServices>
    j'ai déja IISRESET pls fois au cas ou : pas de miracle...

    Alain.
    Alain
    ______________________________
    Delphi7+XmlRAD2005+WS2003+IIS

  8. #8
    Membre actif Avatar de Jeweller
    Inscrit en
    août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Bizzard.

    Pour contourner le soucis, place chaque instruction File dans un Assign différent, par exmple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Assign Name="VTECDE">
    	<File Name="VTECDE">...</File>
    </Assign>
    <Assign Name="VTEMVT">
    	<File Name="VTEMVT">...</File>
    </Assign>
    Ainsi tes fichiers seront chargés dans des noeuds bien distincts.

    Michael

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    Bizarre, Bizarre...Vous avez dit Bizarre, mon cher Michael ?

    D'après toi la propriété "Field Name" devrait servir à changer le nom du noeud racine ? Bon, cela ne marches pas ici : c'est les mystères de l'informatique.

    Ca marche avec l'instruction ASSIGN en tant que père :
    très malin mon cher Michael.

    je vais pouvoir continuer à travailler.
    Merci bcp.

    Alain.
    Alain
    ______________________________
    Delphi7+XmlRAD2005+WS2003+IIS

  10. #10
    Membre actif Avatar de Jeweller
    Inscrit en
    août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Par curiosité je suis allé jeter un oeil dans le code.... ben tu vas rire! Il semblerait que FieldName n'ait effectivement pas d'influence sur le traitement de l'instruction File avec la méthode LOAD et la destination Output... Mais FieldName représente le nom du champ si on l'affecte dans le Context... Comme quoi on croit des trucs et c'est pas toujours vrai! ca se trouve j'aurais juste eut à lire la doc... Oops
    Desole pour la mauvaise piste !

    Michael

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    février 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    Un message pour RDM:
    1° est-ce que dans la prochaine version, cela peut-il etre corrigé?
    2° si oui, pourrait-on avoir la modif de code pour pouvoir modifier nos sources actuelles sans faire d'upgrade de version ?

    Par avance, Merci.

    Alain
    Alain
    ______________________________
    Delphi7+XmlRAD2005+WS2003+IIS

  12. #12
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2002
    Messages : 1 424
    Points : 2 871
    Points
    2 871
    Par défaut
    ca je sais pas encore a voir
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

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

Discussions similaires

  1. [Batch] Renommer un repertoire avec la date systeme sous Batch file
    Par GodFqTheR dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 17/09/2012, 12h20
  2. Renommer Program Files
    Par adrienfehr dans le forum Windows 7
    Réponses: 2
    Dernier message: 22/06/2011, 14h13
  3. [java.io.File] problème pour renommer un fichier
    Par RR instinct dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 10/12/2010, 14h24
  4. Renommer fichiers en fonction nom répertoire conteneur
    Par prodjey dans le forum Scripts/Batch
    Réponses: 12
    Dernier message: 04/09/2010, 16h40
  5. Renommer des type File inclus dans un tableau de File
    Par kavdo34 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/02/2010, 14h07

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