Aller au contenu

mathmax

Actif
  • Compteur de contenus

    48
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par mathmax

  1. Bonjour, J'aimerais recopier un document xml à l'aide d'une feuille xslt en changeant juste le nom de certaines balises. Comme mon document xml d'origine est assez complexe, je ne souhaite pas ré écrire explicitement toutes les balises dans ma feuille xslt. J'ai donc écrit ce bout de code xslt qui permet de recopier n'importe quel document à l'identique : <xsl:template match="/"> <xsl:apply-templates select="Root" /> </xsl:template> <xsl:template match="*"> <xsl:element name="{name()}"> <xsl:if test="count(./*)=0"> <xsl:value-of select="."/> </xsl:if> <xsl:apply-templates select="./*" /> </xsl:element> </xsl:template> Le problème est que ce xslt ne recopiera pas les balises de contenu mixte (contenant balise + texte). Je ne souhaite pas utiliser les balise xslt copy et copy-of car je veux réellement parcourir chaque balise pour renommer certaines d'entre elles. Auriez-vous une idée pour modifier mon code ci dessus afin qu'il recopie aussi les balises de contenu mixte ? merci d'avance.
  2. Bonjour, Je suis à la recherche d'un framework javascript qui soit léger, permette de facilement manipuler le DOM et éventuellement permette de faire quelques effets sympa. J'ai découvert récemment Jquery. Il répond à tous ces critères et je le trouve très agréable au niveau des ses sélecteurs CSS + xpath. Le seul problème est que je ne le trouve pas performant du tout à l'exécution. J'en cherche un qui fasse donc environ la même chose, mais plus performant. J'ai regardé un peu du côté de Prototype. A première vue, ça m'a l'air plutôt moins bien fait que jquery (bien que sûrement plus complet) et surtout beaucoup plus lourd (53 ko compressé contre 20 ko pour jquery). Avez-vous eu l'occasion de l'utiliser ? En vaut-il le coût ? Sinon, y a t-il d'autre framework que vous appréciez particulièrement ? J'aimerais entre autre savoir quel est celui le plus utilisé. merci d'avance pour vos conseils. mathmax
  3. Bonjour, Sur cette page, je cherche à faire un tableau sans bordure extérieures mais avec des bordures pour chaque cellule. La technique que j'ai trouvé est la suivante : Affecter au cellule des bordures de 1 px et cacher celles de l'extérieur en donnant au tableau une bordure blanche. td { border:1px solid #ddd; } table { border-collapse:collapse; border:2px solid white;/*1px ne suffit pas à cacher les bordures des td pour Firefox*/ } Ca marche mais ça entraîne un décalage de 1px vers la gauche dans Firefox. Auriez-vous une technique pour faire la même chose sans décalage ? Sinon, existe t-il un hack CSS propre à FF pour corriger ce problème ? Merci d'avance.
  4. Bonjour, Je cherche à ajouter dynamiquement un lien vers une feuille de style en utilisant le DOM. J'ai écris pour cela le script suivant : <script type="text/javascript"> window.onload = function() { elmt=document.createElement("div"); elmt.innerHTML = "<link href=\"DynamicStyles.css\" type=\"text/css\" rel=\"stylesheet\" />"; document.body.appendChild(elmt); } </script> </head> <body> <p> dfchsdjkfhjksd fhjksd</p> </body> Ce code fonctionne bien sous Firefox mais pas sous IE. Savez-vous pourquoi ? Vous pouvez tester ce code ici. Quand la page se charge, un lien vers une feuille est inséré dans le DOM et le background du paragraphe devient rouge (sur FF seulement...) Merci d'avance pour votre aide. mathmax
  5. Bonjour, J'ai écris un script qui permet d'afficher un texte au passage de la souris sur un élément. Vous pouvez le voir à cette adresse en pointant sur les pictogrammes (ronds rouge, vert et jaune). Le texte qui s'affiche au passage de la souris se déplace avec elle et j'aimerais pouvoir le centrer sur la souris. Le problème est que les textes qui s'affichent ont des largeurs variables. Pour pouvoir les centrer, il faudrait alors que je récupère leurs largeurs et que j'en soustraie la moitié à la position de la souris. Mais est-ce possible ? Ou existe-il une autre solution ? merci d'avance.
  6. en fait ça marche en changeant window.event par event.
  7. Bonjour, je cherche à récupérer la position de la souris quand je pointe sur un lien. Voici le script que j'ai écris : <script> var mouseX, mouseY; function getMouseXY(e) { if (!e) e = window.event; if (e) { if (e.pageX || e.pageY) { mouseX = e.pageX; mouseY = e.pageY; algor = '[e.pageX]'; if (e.clientX || e.clientY) algor += ' [e.clientX] ' } else if (e.clientX || e.clientY) { mouseX = e.clientX + document.body.scrollLeft; mouseY = e.clientY + document.body.scrollTop; algor = '[e.clientX]'; if (e.pageX || e.pageY) algor += ' [e.pageX] ' } } } function Show() { getMouseXY(window.event) alert(mouseX + " " + mouseY); } </script> <a href="" onMouseOver="Show()">Move the mouse over here</a><br> Il marche sous IE mais pas sous Firefox. Savez-vous pourquoi ? Comment le corriger pour que ça marhe aussi sur FF ? merci d'avance pour votre aide.
  8. Donc ce que tu me dis, si j'ai bien compris, c'est que les déclarations du codage utilisé au sein de la page (balises meta http-equiv ou attributs encoding pour les fichiers xml) sont prioritaires sur les requêtes http ? Dans ce cas ces dernières sont juste là au cas ou les premières fassent défaut, non ?
  9. ok merci. Mais en fait quel-est l'intéret du le charset HTTP ? L'entête des document XML ou HTML, ne suffit elle pas à préciser l'encodage utilisé pour la page ? Pourquoi envoyer l'information deux fois (au risque en plus qu'elle se contredisent comme dans mon cas) ?
  10. Il est pourtant dit sur ce site que le fichier RSS doit impérativement être encodé en UTF 8. N'y a t'il pas quelque chôse à changer côté serveur ?
  11. Merci pour ta réponse. L'icone orange apparait bien dans la barre d'adresse de Firefox. C'était l'attribut "rel" que j'avais mal renseigné. Pourrais-tu me donner un exemple de lecteur RSS qui supprime les balise html ? Sinon, concernant ma validation RSS, as tu une idée du problème ?
  12. Bonjour, je souhaite mettre en place un fil RSS et je me pose quelques questions : Tout d'abord, vous pouvez consulter mon fichier RSS à cette adresse. Au passage je remarque qu'à la validation j'obtiens un avertissement. Faut-il que j'en tienne compte ? Sur mon site, j'ai plusieurs rubriques pour lesquelles je souhaite informer lorsque celles-ci sont mises à jour. Par exemple l'une de ces rubriques est les "favoris des testeurs" en bas à gauche. Je souhaiterais mettre cette rubrique dans mon RSS en y mettant chaque nom de produit et chaque commentaire (voir popup quand on clique sur le lien du site). Les autre rubriques à insérer dans mon RSS sont du même type. La question que je me pose est : faut-il faire un fils RSS pour chaque rubrique sachant qu'à l'intérieur de chacune d'elle j'ai plusieurs titres et paragraphes à mettre ou bien faut-il faire un seul fil RSS afin de faciliter l'inscription à celui ci. Pour le moment, j'ai choisi la deuxième solution en attribuant un item par rubrique. Pour chacun de ces item j'ai mis le titre de la rubrique dans la balise <title> et le contenu dans <description>. Ce contenu est mis au format html, pour pouvoir mettre en forme les titres et paragraphes. Le problème que j'ai est que dans certains lecteurs RSS, quand je pointe sur les titres de mes item, je vois apparaître le code html contenu dans <description> ce qui n’est pas très joli... Je me demande donc si j'ai choisi la bonne méthode. Est-il courant de placer du contenu html dans les balises < description> ? Avez-vous des conseils ? Un autre problème : lorsque je vais sur la page liée à un mon fichier .rss, mozilla n'indique pas dans la barre d'adresse ce fil RSS avec la petite icone orange. Savez-vous comment corriger celà ? Merci d'avance pour vos explications smile
  13. Ta méthode marche bien sur les 3 navigateurs. Merci.
  14. Bonjour, Je cherche à comprendre pourquoi j'obtiens des résultats différents (entre IE6, Opera et FF) pour le bout de code suivant : <style> #cadre1 { background-color:green; width:400px; height:100px; float:left; } #cadre2 { clear:left; border:20px solid blue; margin-top:-40px; } </style> </head> <body> <div id="cadre1"></div> <div id="cadre2"></div> </body> Dans FF, la marge négative du cadre 2 ne semble pas être prise en compte, Dans Opera, cette marge négative est prise en compte mais le cadre 2 passe en arrière plan, Dans IE6 tous s'affiche normalement. Si je supprime la propriété float:left pour le cadre 1, alors j'obtiens le même affichage dans les 3 navigateurs (comme dans IE6). Pourquoi ? merci d'avance pour votre aide [smile]
  15. J'ai enfon trouvé la réponse à ma question ici.
  16. Pas de message d'erreur. En revanche le framework 2 est bien installé chez moi. je fais régulièrement tourner de programme issue de la plateforme .Net sur mon ordinateur. En fait, on dirait que la fonction document() n'est pas interprétée et donc le chemin n'étant pas valide, la balise <xsl:value/> ne retourne aucune valeur. Voici un exmple que j'ai fais afin de bien cibler le problème : J'ai crée dans un même dossier : - 2 pages XML noms.xml et commentaires.xml qui ont réspectivement les structures suivantes : <Root> <Item> <Nom>Nom1</Nom> </Item> <Item> <Nom>Nom2</Nom> </Item> ... </Root> et <Root> <Item> <Commentaire>commentaire1</Commentaire> </Item> <Item> <Commentaire>commentaire2</Commentaire> </Item> ... </Root> - 1 feuille XSL test.xsl. Entre les balises template, j'ai mis : <p><xsl:value-of select="Root/Item/Nom"/></p> <p><xsl:value-of select="document('http://www.orkos.com/tests/commentaires.xml')//Item/Commentaire"/></p> (donc un appel à Nom (dans noms.xml) directement et un appel à commentaire (dans commentaires.xml) par le biais de la fonction document()). - 1 page dynamique test.aspx dans laquelle je fais appel à mes document noms.xml et test.xsl et que je transforme grâce au fichier MM_XSLTransform.vb. Voilà à quoi ressemblent ces appels : <body><% Dim mm_xsl As MM.XSLTransform = new MM.XSLTransform() mm_xsl.setXML(Server.MapPath("noms.xml")) mm_xsl.setXSL(Server.MapPath("test.xsl")) Response.write(mm_xsl.Transform()) %></body> Maintenant je fais les tests suivants : Dans mon fichier noms.xml, j'ai ajouté un lien vers la feuille test.xsl. Quand j'appelle noms.xml dans le navigateur, l'obtiens ceci. Le nom s'affiche correctement. Dans la feuille XSL, la fonction document() est également correctement intérprétée car mon commentaire s'affiche bien en dessous du nom. Jusqu'ici tout fonctionne donc nomralemement. Maintenant j'éxécute la page test.aspx qui je le rapelle fais appel à noms.xml et test.xsl. J'obtiens ceci. Ici le commentaire ne s'affiche pas. La fonction document() ne semble pas être interprétée. Le chemin Xpath document('http://www.orkos.com/tests/commentaires.xml')//Item/Commentaire est pourtant correct puisque le commentaire s'affichait lors de l'éxécution directe de noms.xml. Et c'est là que je ne comprends pas pourquoi dans le deuxième cas, ma fonction document() n'est pas intérprétée... Une explication ? Je mets ici un zip contenant tout l'exemple (y compris le doc vb de transformation), c'est peut-être plus clair d'étudier ça en local. Merci d'avance pour votre aide.
  17. Je veux bien, mais comment faire dans visual Studio ? J'utilise le framework 2. Crois-tu vraiment que le problème viens de là ?
  18. tu veux dire une page de XSL ? si c'est ça que tu veux, je crois que ce code te suffit : <xsl:value-of select="document('http://www.orkos.com/Portals/_XML_XSL/F_Eu.xml')//Root/CalendarGroup/CalendarList/CalendarItem/CalendarCountry" /> mais ce code ne pose pas de problème pour les transformation côté client. En revanche il ne fonctionne pas si j'insère un fragment XSLT le contenant dans une page dynamique. Dans mon cas, j'ai fais cette transformation à l'aide de Dreamweaver qui me génère un fichier vb.net pour la conversion. Tu peux le voir ici si tu veux : http://www.orkos.com/tests/MM_XSLTransform.txt
  19. Bonjour, Je cherche à faire appel à une page XML depuis une feuille XSL. J'utilise pour celà la fonction Xpath document(). Cela marche bien quand je fais ma transformation côté client, mais ne marche en revanche plus dès que j'insère mon fragment XSLT dans une page dynamique (que je mette le chemin vers le XML en absolu ou en relatif). Avez-vous une idée du problème ? merci d'avance
  20. Je connais bien ces tutos. Merci quand même.
  21. Ca me parait clair, sauf que si on ne met pas la deuxième image en float:left, le texte qui se trouve en dessous ne flotte plus à droite de la première image. Il vient en dessous de la seconde. En fait il se retrouve lui aussi en clear par rapport à la première image. Si par contre on met la 2ème image en float:left, le texte se retrouve à droite de la première. Le float:left de la seconde image semble donc simplement indiquer si le clear par rapport à la première image est conservé pour le texte ou non...étrange... Cela veut-il dire que l'on ne peux pas fiare flotter en bas à gauche (ou à droite) ? En fait, je ne vois pas trop pourquoi. De la même manière que le CSS indique que les éléments se trouvent l'un à côté de l'autre (ce que le HTML ne fais pas), il pourrait aussi indiquer que les éléments se trouvent l'un à côté de l'autre avec les premier flottant en bas du second (même si là aussi le HTML de l'indique pas). En d'autre termes, on pourrait très bien avoir un bout de code comme ça : <img src="image.jpg" /> <p>cdns jgjf ghdghjfg hjgh gcfshj cghjsg j </p> img { float:left-bottom; } Je sais que la propriété float:left-bottom n'existe pas mais peut-être existe t-il une manière de faire cela en CSS2 ?
  22. En effet, ça fonctionne ! C'est plutôt normal car enlevant la propriétée float:left à p, on le dispense ainsi du layout... cependant, j'avoue que ne comprends pas trop pourquoi le texte se retrouve en flottant par rapport à la deuxième image. Comme la 2ème possède la propriétée clear, le paragraphe qui se trouve après devrait lui aussi être en clear: left par rapport à la première image et devrait donc se trouver à droite de la deuxième image, non ? En fait, j'aurais besoin de faire un peu plus que ça .Pour cela, je cherche comment faire pour qu'une image puisse flotter en bas à gauche (ou à droite) d'un cadre de texte. Un peu comme ça : cadre flottant en bas à gauche d'une cadre de texte Une idée ? En tous cas merci pour ton aide. Tu me tire d'un sacré pétrin. Si tu savais combien de temps j'ai cherché comment faire ce truc...
  23. Bonjour. Je cherche à faire ça : schéma explicatif Et bien sûr je souhaiterais que cette mise en forme reste quand on agrandit le texte. Ici mes cadres gris représentent des images et je voudrais les mattre les 2 en float left. Pour cela je pensais à un code du style : <img src="image.jpg" id="image1"/> <img src="image.jpg" id="image2" /> <p> fdhkdjgh jkfgh gkjfdhf gjkg hjkfgh jgk ghjghkjgjui sfndhkud fhjghjfd ghj gfhjg fhjghj jkg hgkdj</p> #image1 { float:left; } #image2 { clear:left; * float:left; } p { float:left } *avec ce clear:left qui ne s'applique qu'à image2 en non pas à p. Ce qui fais que les deux images sont en float:left par rapport au texte mais pas entre elles. Seulement voilà, cette solution ne semble pas possible... Je voulais donc savoir si il en existait une autre pour pouvoir réaliser se genre de mise en page ? Merci d'avance pour votre aide.
  24. Oui merci, c'est clair que c'est ça ! Par contre je ne peux pas me permettre de virer la margin-top des titres car je ne veux pas qu'ils collent trop à l'image. Je vais tout simplement insérer un <hr /> au dessus du titre, sans marge, invisible et en clear:left. Ca résoudra le problème.
×
×
  • Créer...