Bonjour
Comment fait-on pour qu'une url contenant "&" ne fasse pas planter une transformation xslt?
&amp c'est pour l'HTML
il y a %26 pour l'unicode
Mais ça ne donne rien

Merci beaucoup
Modifié par dj DMSR (08 Sep 2007 - 03:15)
Salut,

Hélas, la seule façon dont j'ai réussi est de la mettre dans un <![CDATA[...]]>

A+
Modifié par Hacken (07 Sep 2007 - 09:11)
Bonjour. Merci pour vos réponses

Patidou a écrit :
En xml comme en html, il faut utiliser :


&amp;


je sais
mais ici dans mon "modèle" xsl il y a une partie non dynamique du html pur; un menu avec un classique a href="http://site?param1&param2" c'est cette esperluette qui ne passe pas lors de la transformation. Si j'écris a href="http://site?param1&param2" c'est le serveur du site contacté qui ne reconnait plus la requête (normal!)
Il doit bien y avoir une solution... on peut quand meme avoir des liens vers des serveurs php, asp... dans des documents xsl... bondiou
Modifié par dj DMSR (07 Sep 2007 - 14:21)
Hacken a écrit :
Salut,

Hélas, la seule façon dont j'ai réussi est de la mettre dans un <![CDATA[...]]>

A+


Je vais essayé ça
<![CDATA[http://site?param1&param2]]> donc...
a href="<![CDATA[http://site?param1&param2]]>" marche pas!
a href="http://site?param1<![CDATA[&]]>param2" non plus
a <![CDATA[href="http://site?param1&param2"]]> non plus

Smiley bawling
Et pourquoi pas quelque chose comme ça :

<xsl:element name="a">
    <xsl:attribute name="href">
        <![CDATA[http://site?param1&param2]]>
    </xsl:attribute>
</xsl:element>

(code probablement simplifiable)
Modifié par Gilles (07 Sep 2007 - 17:42)
Super Merci
détail avec une image (ou autre élément à la place) ça donne:

<xsl:element name="a">
    <xsl:attribute name="href">
        <![CDATA[http://site?param1&param2]]>
    </xsl:attribute>
<img scr="urlimage" alt="" />
</xsl:element>


la balise fermante
</xsl:element>
represente la balise fermante
</a>
c'est ce que je n'avais pas bien pigé Smiley cligne

encore merci Gilles!
Pour aller un peu plus loin sur le sujet, xsl:attribute doit être utilisé juste après <xsl:element>. Pour reprendre ton exemple, qui est correct, la syntaxe suivante qui en est proche produit une erreur:

<xsl:element name="a">
<img scr="urlimage" alt="" />
    <xsl:attribute name="href">
        <![CDATA[http://site?param1&param2]]>
    </xsl:attribute>
</xsl:element>


Cela dit, et je vais changer ma casquette, en termes d'accessibilité et de référencement e code produit par ton exemple est... très mauvais, désolé. En effet, les agents utilisateurs (navigateurs Web ou moteurs de recherche) incapables de percevoir les images ne seront en rien renseignés sur l'intitulé du lien, qui leur apparaîtra vide.
salut Gilles
merci de cette precision
à propos des moteurs de recherche tu dis ça car l'attribut alt de l'image est vide? ou à cause de la syntaxe?
J'ai bien prévu de renseigner les attributs alt pour nos amis mal-voyants
en plus c'est un site de musique, pour les oreilles. Smiley cligne

Mon vrai code (un petit bout de la partie en "dur" pas de la partie xslt pure) est peut-être encore pire regarde:

            <xsl:element name="a">
                <xsl:attribute name="href">
                    <![CDATA[http://site?param1&param2]]>
                </xsl:attribute>
            <dl class="item" id="podcast" class="selected'>
              <dt class="logo"><img src="podcast.png" alt="podcast" width="16" height="16" /> </dt>
              <dt class="intitule">podcast</dt>
            </dl>
            </xsl:element>


Ça doit paraître bizarre mais j'ai du détourner les listes de définitions pour faire un menu vertical avec dossiers imbriqués cliquables ... façon iTunes

Mais dis-moi le moteur de recherche il index le fichier xml (sans lien), pas la feuille de style xsl (où sont les liens)? (transformation côté client) donc ... on s'en fout si je veux qu'il suive les liens faudra que je fasse un site map, non?

Merci
Bonjour,

Exact. Je ne m'étais pas rendu compte que tu faisais les transformations dynamiquement, côté client. Et oui, je faisais référence au fait que les alt étaient vides.

Si j'ai bien compris, tu te sers des listes de définition parce que leur mise en forme par défaut correspond te mâche le travail pour ta mise en forme finale Smiley cligne ? C'est plutôt à éviter, en effet... d'autant plus qu'ici, je ne vois pas leur intérêt par rapport à de simples <ul><li>...</li><li>...</li></ul>.

Qui plus, il me semble (pas sûr de moi sur ce coup-là...) que certains outils les détectent comme étant des listes de définition, et donnent la possibilité de les explorer en tant que telles. Une autre raison pour les éviter...
Salut
J'essaie (j'ai pas encore fini) de refaire le menu playlist d'iTunes (tu connais?) avec dossiers et sous-dossier de playlists (.xml) à l'identique.
Je me sers des dl pour plusieurs raisons.
J'ai essayé les ul et li mais ça ne me va pas. (le fond de la ligne du menu qui change en cas de selection ne traverse pas toute la largeur du menu mais commence à la puce)
Et puis il y a ces petits triangles (ouvert/fermé) cliquables qui doivent se trouver avant l'icone de dossier et se décaler suivant la profondeur de l'imbrication des dossiers, et pour ça j'utilise un spacer de largeur proportionnelle à la profondeur.
Enfin j'aurais pu utiliser des div mais je ne sais pas cummuler un second style via javascript/DOM à une class
bref, compliqué... il y a un jeu subtile d'id et de style
Modifié par dj DMSR (17 Sep 2007 - 04:13)