|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Bonjour
on va numéroter pour faciliter : 1) dans XMLStudio, comment ajouter un attribut à un tag, à part aller bidouiller le source. je peux cliquer juste à coté du tag ca surligne la zone des attributs, mais là ... 2) J'aimerai savoir si c'est possible du SQL dynamique J'ai pensé qu'on pourait modifier la requete dans le BeforeInstruction suivant les paramètres ... Autre possibilité : concevoir un XMLGRAM qui contiennent plusieurs DBExtract avec le même Container Name et des instructions pour choisir lequel choisir ... là non plus, je suis pas encore à l'aise. 3) Si on veux ajouter un "emballage" à l'appli, cad des logos, bandeaux, et aux fioritures, qui s'ajoutent à toutes les pages, on est-ce qu'il faut mieux les mettres, sans être obligé de le répéter à chaque fois ? Merci |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
Alors...
Pour le 1., l'équipe de developpement de XMLRAD a fait fort, il te suffit de cliquer sur OI dans XSLStudio (complètement à droite, avec source, xml, xsl et les icones). Tu auras alors la liste des attributs disponibles et il te suffiras de les renseigner. Pour le 2., le SQL dynamique se fait dans BeforeXMLGram. Le mieux c'est d'utiliser la syntaxe suivante : Dans ton XMLGRAM, tu crées la requete sous la forme SELECT XX FROM YY {$WHERE_CLAUSE} et dans le BeforeXMLGram, tu n'as plus qu'à faire Context.Values['WHERE_CLAUSE'] := 'Ta clause WHERE'; Enfin pour le 3., le mieux c'est de créer un fichier xsl qui qui contient des templates pour ce que tu veux, et dans tes écrans xsl, tu ajoute une clause <xsl:import href="TonFichierXSL.xsl"/> |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Rien à ajouter ....1) j'avais pas assez attendu ! c génial 2) exactement ce qu'il fallait 3) on va voir cà .. super Merci de ton aide précieuse |
|
|
00
|
|
|
#4 | |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
héhé, c pas fini
Citation:
Dans delphi ? (ca ressemble étrangement à du pascal ton code...) Dans XMLRAD, le "Events Manager" du XMLGram ? Si c'est ca, c'est koi comme langage, g beau l'écrire dans tous les sens, j'ai eu tout style d'erreurs, de Context non défini à Violation d'accès ... Merci |
|
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
Oui c'est dans delphi, pour le code que j'ai donné. Si tu veux le faire par script, il faut écrire Context.SetValue('WHERE_CLAUSE', 'TA CLAUSE WHERE').
|
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Est-qu'il faut avoir déclaré WHERE_CLAUSE quelquepart ?
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
Oui, j'avais oublié de le préciser, il faut le définir dans les Params (avec l'instruction XMLGram)
|
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 243 ![]() |
il manque un bout dans le précédant post; il fallait lire
Oui, j'avais oublié de le préciser, il faut le définir dans les Params (avec l'instruction XMLGram Assign) |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Bahhhh je m'en sors plus, j'ai tout le temps l'erreur "Nom inconnu", même si ya plus rien : plus de paramètres, plus de jscript, plus rien ...
|
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
C bon y'avait encore le lien dans le fichier .xmlgram vers une fonction JScript qui existait plus ...
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Ca marche super
Merci pfo74 |
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() |
Juste une tite précision, je crois pas qu'il soit nécessaire de déclarer {$WHERE_CLAUSE} dans la collection des paramètres du DBExtract.
En l'occurence, cette technique s'appelle "template property". A l'éxécution du DBExtract, l'application charge le code SQL, recherche tout ce qui commence par {$, recupère le nom de la template property (jusqu'au } suivant), va chercher dans le Context le champ correspondant et remplace la template property avec le contenu trouvé dans le Context. Pas besoin de déclarer ca dans les Params de la Query donc... Il faut faire super attention à ca, dans la mesure où si c'est mal utilisé, un utilisateur mal intentionné pourrait exécuter le code SQL de son choix. Il faut donc toujours prévoir une valeur par défaut pour la template property et forcer la mise à jour du Context par code (JScript ou Delphi) pour etre sur du SQL utilisé. Faites des nouveaux posts si vous avez besoin d'infos complémentaires sur cette technique.
__________________
Nicolas |
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : juin 2003 Messages : 52 ![]() |
Bon ba c résolu
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com