Comment renommer le conteneur du "Select" de la méthode "LOAD" en sortie "OUTPUT"?
Merci.
Comment renommer le conteneur du "Select" de la méthode "LOAD" en sortie "OUTPUT"?
Merci.
Alain
______________________________
Delphi7+XmlRAD2005+WS2003+IIS
Je ne suis pas sur d'avoir bien compris...
Tu veux dire en mettant une template dans FieldName?
J'ai pas testé, mais ca devrait le faire...
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>
Michael
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
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/
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
fichier2.xml<champs>
<champ>valeur1</champ></champs>
<champ>valeur2</champ>
<champ>valeur3</champ>
dans mon xmlgram, j'ai 2 instructions FILE;<champs>
<champ>valeur1</champ></champs>
<champ>valeur2</champ>
<champ>valeur3</champ>
En sortie OUTPUT, j'ai :
sans pouvoir distinguer ce qui vient de fichier1.xml et de fichier2.xml.<champs>
<champ>valeur1</champ></champs>
<champ>valeur2</champ>
<champ>valeur3</champ>
<champs>
<champ>valeura</champ></champs>
<champ>valeurb</champ>
<champ>valeurc</champ>
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
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.J'ai beau changer les valeurs de "Field name"--> aucun changement dans le Output.
Est-ce normal ?
Michael
Je ne passe que par XMLRAD pour modifier les fichiers de conf.
voici le .xmlgram, avec 2 instructions FILE:
et voici le resultat obtenu en OUTPUT (xmlc_outformat=xml)<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>
j'ai déja IISRESET pls fois au cas ou : pas de miracle...- <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>
Alain.
Alain
______________________________
Delphi7+XmlRAD2005+WS2003+IIS
Bizzard.
Pour contourner le soucis, place chaque instruction File dans un Assign différent, par exmple:
Ainsi tes fichiers seront chargés dans des noeuds bien distincts.
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>
Michael
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
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
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
ca je sais pas encore a voir
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager