euh...
Je vois pas du tout pourquoi tu utilises ce genre de techniques... On n'a jamais besoin de faire de la modification du fichier XSL, puisqu'il est prévu à la base pour ca. Ce que tu fais, c'est équivalent à créer par code le HTML directement, au lieu de le faire faire par le XSL.
Pour le premier exemple
XStr := StringReplace( XStr, '="Title">QueryResults', '="Title">Résultats : ' + OutputDoc.GetValue('QueryInfo/QueryLabel') , [rfReplaceAll]);
, tu remplace dans ton XSL par :
...="Title">Resultat: <xsl:value-of select="/document/QueryInfo/QueryLabel" /></...
Le XSL ira tout seul comme un grand chercher la valeur dans le XML et la mettra dans le flux de sorti HTML.
Pareil pour le colspan... Ton NbShown doit provenir d'un nombre extrait de la base ou calculé... il te suffit de faire dans le XSL
...<td><xsl:attribute name="colspan"><xsl:value-of select="/document/Params/Colspan"/></xsl:attribute></td>
Il ne faut surtout pas remplacer ton code XSL dynamiquement, il suffit de placer les bonnes données dans le XML et de les utiliser directement dans le XSL.
Il ne faut pas oublier que XSL est sensible aux données, et transforme un XML vers un autre format. Si les données ne sont pas dans le XML, le XSL ne pourra rien y faire. A chaque fois qu'on est bloqué en XSL, ca signifie simplement que le XML n'est pas bien fait ou pas complet...
Partager