Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[XSLT] XSLT et formulaires HTML

bobby, le jeudi 8 décembre 2005 à 12:15:05
Bonjour tout le monde,

Voilà mon problème. J'ai un fichier XML, qui fait appel à un fichier xsl pour sa mise en page.
Le fichier XSL affiche un formulaire donc le contenu est décrit par le fichier XML. A la fin de ce formulaire, j'ai un bouton submit.
Je souhaite mettre à jour mon fichier XML en fonction de ce que l'utilisateur aura rempli, mais sans passer par ASP, PHP... Est-il possible, comme je souhaite simplement réécrire un fichier XML, de lancer une action XSL à partir de mon bouton submit ?
Merci pour votre aide
Bobby
Répondre à bobby  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le jeudi 8 décembre 2005 à 13:08:32
j'pense que ça doit etre possible avec un lien en javascript sur ton boutton de submit ... je m'explique :
au lieu du
<input type="submit" value="OK">

tu mets un
<input type="button" onClick="javascript:goXSL()" value="OK">

avec au préalable dans ton <head>, biensur un
<script language="javascript>
function goXSL()
{
    //Algo style :
    Ouvrir une fenetre en poup
    Le docuemnt appelé dans la fentre st ton xsl avec des parametres
    Application du xsl (donc changement du xml )
    faire un refresh sur la fenetre parent (parent.window.reload() )pour l'affichage de la mofification
   //FIN Algo style
}
</script>

Oué je te mets ça en algo , la j'ai pas le temps de le faire à la mimine la...

en gros c'est ça que tu voulais non ?!

Zep3k!GnO
_/______________________________\_
/On est des rangers mec, des rangers !\
\_____________..._________________/
Répondre à Zep3k!GnO

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bobby, le jeudi 8 décembre 2005 à 14:25:47
Ca correspond effectivement à ce que je souhaite faire... mais comment passes-tu les paramètres du formulaire au fichier xsl ?
Merci en tout cas pour ton coup de main
Répondre à bobby

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le vendredi 9 décembre 2005 à 08:49:38
mais comment passes-tu les paramètres du formulaire au fichier xsl ?
Oula c'est la que c'est le bordel :
Pour moi, il faudrait que tu fasse un feuillet xsl avec la fonction à appeller avec les paramètres que t'inclus dans ta feuille xsl principale.
Et ton feuillet xsl avec ta fonction et ses paramètres, tu le créé à la volé, dynamiquement avec Php . . .

voilà dans l'esprit , après en pratique, j'avoue c'est cossu !

bon courage . . .

Zep3k!GnO
_/______________________________\_
/On est des rangers mec, des rangers !\
\_____________..._________________/
Répondre à Zep3k!GnO

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fonzy, le jeudi 14 août 2008 à 13:09:13
Salut bobby, je voulais te demander si tu avais réussi ton projet car je travaille sur un projet similaire, et si tu as trouvé la solution, ca m'aiderait énormément, merci
Répondre à fonzy

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 I'm_Here, le vendredi 17 octobre 2008 à 07:47:13
Bonjour,
tu peux t'inspirer de ceci :

liste.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="affiche.xsl"?> 
<list>
<regle numero="1" nom="Hypallage">
<description>transfert d'adjectif en vue d'attribuer à certains mots d'une phrase ce qui convient à d'autre mots de la même phrase.</description>
</regle>
<regle numero="2" nom="Epanaphore">
<description>Repetition d'un mot avec une conjonction</description>
</regle>
<regle numero="3" nom="Epanalepse">
<description>le même mot est en tête et en fin d'une phrase</description>
</regle>
</list>


liste.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>

<xsl:param name="numero"/>

<xsl:template match="list">
<xsl:variable name="nombre">
<xsl:value-of select="count(//regle[@numero=$numero])"/>
</xsl:variable>

<xsl:choose>
<xsl:when test="$nombre>=1">
<xsl:apply-templates select="//regle[@numero=$numero]"/>
</xsl:when>
<xsl:otherwise>
<div>il n'y a aucune règle répondant au critère sélectionné</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<xsl:template match="regle">
<div style="color:white;font-size:150%;margin-left:20px"><xsl:value-of select="@nom"/></div>
<xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>



affiche.xsl
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0">

<xsl:template match="/">
<html>
<head>
<title>Moteur de recherche</title>
<style type="text/css">
<![CDATA[
body {
background:black;
}
form {
margin-left:150px;
}
input.si {
background:orange;
width:200px;
font-family:verdana;
color:black;
padding:10px;
}
input.butt {
background:whitesmoke;
font-family:verdana;
color:gray;
border:0px;
margin-left:5px;
}
.nf {
color:orange;
font-family:verdana;
font-size:27px;
padding:10px;
}
]]>
</style>

<script src="recherche.js" type="text/javascript"></script>
</head>

<body>
<h1 style="text-align:center; color:orange">Kezako this !!</h1>
<hr style="color:white" />

<form name="form1">
<span style="color:whitesmoke;font:17px/14px verdana;">le nombre de mots est :<xsl:value-of select="count(//regle)" /></span><xsl:text> </xsl:text>
<input class="si" name="code" type="text" />
<input class="butt" name="button" type="button" onClick="recherche()" value="Recherche" />
</form>
 
<div id="nfig" class="nf"></div>
</body>
</html>
</xsl:template>

</xsl:stylesheet>





recherche.js
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");

xslDoc.async = false;
xslDoc.load("liste.xsl"); 

xmlDoc.validateOnParse = false;
xmlDoc.load("liste.xml");

var xslt = new ActiveXObject("Msxml2.XSLTemplate");
xslt.stylesheet = xslDoc;
var xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;

function recherche() 
{
xslProc.addParameter("numero", form1.code.value);
xslProc.transform();
nfig.innerHTML = xslProc.output;
}


bon codage @+
Répondre à I'm_Here
Problème Formulaire HTML (Résolu) Voila, j'ai dréer un petit formulaire HTML, que des visiteurs rempliraient. Mais je ne sais pas comment faire pour qu'il me soit envoyer! Quant je clique sur le bouton "envoyer", ca m'ouvre mon client mail par défaut! j'aimerai en... www.commentcamarche.net/forum/affich-1650250-probleme-formulaire-html
Formulaire HTML bloqué .... è-é (Résolu) Bonjour a toutes et tous les manias du savoir relatif et absolu :p alors walou c'est un chouill' complexe on me stipule que mes parametres de securites actuels ne me permettent pas d'envoyer des formulaires HTML tatatata .... photo 1... www.commentcamarche.net/forum/affich-7485294-formulaire-html-bloque-e-e
Dépouillement d'un formulaire HTML : POST (Résolu) Bon jour, j'essaye de traiter des données entrées par un utilisateur dans un formulaire HTML. J'ai tenté plusieurs types de scripts via l'option action de la balise FORM : le CGI, le Perl, le Java, le PHP. Rien ne fonctionne ! Quand je... www.commentcamarche.net/forum/affich-1807598-depouillement-d-un-formulaire-html-post
[Javascript] Effacer un champ de formulaire lors du clic (focus)Il vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de... www.commentcamarche.net/faq/sujet-884-javascript-effacer-un-champ-de-formulaire-lors-du-clic-focus
[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
[MacOS] FireFox -- tabulation et formulaireAvec FireFox sous MacOS (problème rencontré sour MacOsX Panther & Tiger / FireFox toutes versions) la navigation dans un formulaire web avec la touche [tab] peut réserver quelques surprises. Par défaut, la tabulation ne permet de se déplacer que de... www.commentcamarche.net/faq/sujet-2401-macos-firefox-tabulation-et-formulaire
Formulaire html (Résolu)Bonjour, Je souhaiterai savoir ce qu'il faut compléter au code suivant pour qu'il fonctionne une fois que la personne clique sur envoyer. C'est un formulaire html redirigé par mail et non php. Merci d'avance pour votre... www.commentcamarche.net/forum/affich-2133877-formulaire-html
Formulaire html (Résolu)Bonjour, j'ai un formulaire html sur lequel je verifie tous mes champs si un champ obligatoire n'a pas ete rempli, la page est rechargee et le champ est marque en rouge le probleme est que a ce moment la tous les autres champs se reaffichent... www.commentcamarche.net/forum/affich-9510113-formulaire-html
Je craque: html-php case à cocher + sélection (Résolu)Bonjour, je craque !!!!! j'ai créé un formulaire html avec un traitement php (envoie par mail de tous les champs, malheureusement les cases à cocher ainsi que le menu déroulant (sélect) je n'arrive pas à l'intégrer dans le corps du mail... www.commentcamarche.net/forum/affich-2341821-je-craque-html-php-case-a-cocher-selection
PHP - Récupération de donnéesPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des... www.commentcamarche.net/contents/php/phpform.php3
Servlets - Gestion des formulairesIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise... www.commentcamarche.net/contents/servlets/servform.php3
CGI - Réception et traitement des donnéesEnvoyer des données à un script CGI L'envoi de données à un script CGI se fait par l'intermédiaire d'un formulaire HTML. Les formulaires HTML se créent à l'aide de la balise contenant des boutons, des champs, des listes et/ou des cases à... www.commentcamarche.net/contents/cgi/cgiget.php3