Ou est le probleme avec ce bout de XSL ? - XML/XSL - Programmation
Marsh Posté le 05-05-2004 à 09:53:55
As tu essayé sans apostrophe dans l'attribut select de ton premier <xsl:with-param> ou en placant la valeur "'Compte CLient" comme texte dans cet élément au lieu de le mettre en attribut ?
Code :
|
Marsh Posté le 05-05-2004 à 11:00:38
swgreedo a écrit : As tu essayé 1) sans apostrophe dans l'attribut select de ton premier <xsl:with-param> ou 2) en placant la valeur "'Compte CLient" comme texte dans cet élément au lieu de le mettre en attribut ?
|
1) Oui, au depart c'etait meme sans apostrophe ... je pensais meme que le probleme venait de la, puisque si tu resous l'attribute ca se transforme en un parametre "value" qui vaut "123456 - compte client" par exemple, ce qui est interdit (il faut de apostrophes pour signaler que c'est bien une chaine, et pas un noeud)
2) Ben d'apres le numero et ligne et de colonne, c'est vraiment le :
Code :
|
qui lui pose probleme, donc j'ai pas change le premier param (au passage il manque une apostrophe dans "'Compte CLient", mais c'est juste une typo de recopie quand j'ai change les noms des champs pour poster). Mes deux noeuds "Account/Id" et "Account/Description" sont valides.
Marsh Posté le 06-05-2004 à 11:27:43
swgreedo a écrit : Ah ben là je ne vois pas |
essaie de changer les noms de tes param. Je ne pense pas qu'il soit conseillé d'appeller une variable par le nom d'une fonction (en l'occurence, name).
Marsh Posté le 06-05-2004 à 12:20:50
alien_nan a écrit : essaie de changer les noms de tes param. Je ne pense pas qu'il soit conseillé d'appeller une variable par le nom d'une fonction (en l'occurence, name). |
Ben je vais esssayer a tout hasard, meme si j'y crois pas trop (quand le parametre "value" est initialise de maniere simple, ca marche)
Marsh Posté le 06-05-2004 à 14:19:48
Gonzoide a écrit : Ben je vais esssayer a tout hasard, meme si j'y crois pas trop (quand le parametre "value" est initialise de maniere simple, ca marche) |
as tu essayé de remplacer le - par & # 4 5 ; ?
quel est l'encoding de ton fichier ?
ps : edit c chiant, il transforme en - le code ...
Marsh Posté le 06-05-2004 à 14:44:07
A priori en changeant une construction du type :
Code :
|
en directement :
Code :
|
ca a l'air de marcher (en gros, on vire l'attribut "select" de "with-param".
Par contre, maintenant ca merde plus loin ... le bout de code suivant pète avec le message d'erreur 'Value of attribute name cannot contain '<', alors que ca me semble tout a fait legal. Le plus drôle c'est que ca marchait pile-poil avant.
Code :
|
Marsh Posté le 06-05-2004 à 14:52:02
C'est normal, le contenu texte de xsl:attibute est pris comme la valeur brut de l'attribut. Un peu comme xsl:text
Marsh Posté le 06-05-2004 à 22:53:27
pascal34 a écrit : C'est normal, le contenu texte de xsl:attibute est pris comme la valeur brut de l'attribut. Un peu comme xsl:text |
Ben avant que je commence a faire mes essais avec mes xsl:with-param, les xsl:attributes marchaient pile-poil
Pis t'es sur de ton coup ? Parce que a part ce que j'ai fait, comment passer des attibuts complexes ?
Marsh Posté le 07-05-2004 à 11:42:19
Code :
|
les xsl:attribute c'est pour ajouter un nouvel attribut à l'élément en cours de traitement dans un template.
Marsh Posté le 07-05-2004 à 12:35:37
pascal34 a écrit :
|
Ben c'est bizarre, parce que des structures du genre:
Code :
|
ca fonctionne chez moi ...
Marsh Posté le 07-05-2004 à 13:44:49
Gonzoide a écrit : Ben c'est bizarre, parce que des structures du genre:
|
Oui, car tu inclues du texte dans le xsl:param. Pas un xsl:attribute
Marsh Posté le 07-05-2004 à 16:26:18
pascal34 a écrit : Oui, car tu inclues du texte dans le xsl:param. Pas un xsl:attribute |
Je confirme qu'on a le droit de le faire dans un attribute (ca marche dans d'autres XSL), c'est meme la raison d'etre de ce noeud ...
Marsh Posté le 04-05-2004 à 18:42:24
Grace a une feuille XSL, je cherche a transformer du XML en HTML, qui aura une forme de table avec une colonne "label" et une colonne "donnee".
Pour faire les choses proprement, j'ai cree un template "item" a qui je passe je lui passe mon label et ma valeur, et lui se charge de creer les <TR>, <TD>, etc. Un appel a "item" ressemble donc a :
Xalan se plaint que l'attribut "select" a un attribut illegal (en rouge dans l'exemple qui precede) ... quelqu'un aurait une idee ?
EDIT : merde le rouge marche pas
Message édité par Gonzoide le 04-05-2004 à 18:42:56