From: cyril vidal (cyr.vidal@wanadoo.fr)
Date: 27/05/2002 - 13:59
OUi, ici, il faut que le fichier personnel.xml existe avant. Il le charge avec objDOM.load("personnel.xml").
Ceci dit, tu peux enlever cette ligne et ne garder que objDOM.save("personnel.xml");
En gardant la ligne load, le programme copie le premier sous-arbre personne contenu dans personnel.xml (je te donne un extrait ci-dessous)avec tous les éléments qu'il contient, i.e nom,prénom, bureau et fonction puis remplace la valeur de chacun de ces noeuds par les valeurs respectives rentrées dans le formulaire.
Si tu veux changer cela, il faut que tu te mettes un peu au DOM qui est plus laborieux que compliqué (je ne suis pas informaticien non plus..mais étudiant en philosophie...)
VOila un extrait du fichier personnel.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<étage numéro="11">
<service nom="DPM/MCO">
<personne>
<nom>BRETECHER</nom>
<prénom>Gérard</prénom>
<bureau>1126</bureau>
<fonction>sous-directeur</fonction>
</personne>
<personne>
<nom>EN COURS</nom>
<prénom/>
<bureau>1102</bureau>
<fonction>Chef de bureau MA</fonction>
</personne>
<personne>
<nom>BERNARD</nom>
<prénom>Hervé</prénom>
<bureau>1129</bureau>
<fonction>Adj. au chef de bureau</fonction>
</personne>
<personne>
<nom>CAMPAS</nom>
<prénom>Michel</prénom>
<bureau>1109</bureau>
<fonction>Responsable d'études</fonction>
</personne>
<personne>
<nom>EN COURS</nom>
<prénom/>
<bureau>1130</bureau>
<fonction>Chef de bureau MN</fonction>
</personne>
et voilà le fichier css au cas où...
body {
font-family:garamond;
background:#C8DCC8;
}
h1 {
color: #D88C78;
padding-top: 2%;
padding-bottom: 2%;
position:relative;
left: expression(document.body.clientWidth/2 - this.offsetWidth/2);
border:5px outset;
width:90%;
background: #800000;
text-align:center;
}
table {
position:relative;
left: expression(document.body.clientWidth/2 - this.offsetWidth/2);
margin-top : 2em;
}
th {
padding: 1em;
width : 20%;
background : #008488;
color : #FFE0B8;
font-family : comic sans MS;
}
td {
background : #305050;
text-align : center;
}
.envoi {
margin-left:8em;
margin-top :0.7em;
position:relative;
left: expression(document.body.clientWidth/2 - this.offsetWidth/2);
}
Cyril.
>Messsage du 27/05/2002 14:29
>De : <xml-tech@xmlfr.org>
>A : <xml-tech@xmlfr.org>
>Copie à :
>Objet : [xml-tech] Re: RE : Re:
>
> Bonjour Cyril
>
> Je viens de tester ton script mais il ne fonctionne malheureusement pas. N
> etant pas informaticien de profession, peux tu, stp, me dire ce qui ne va
> pas (faut il par exemple que le fichier personnel.xml existe avant
> l'utilisation du formulaire)?
>
> merci
> eric
>
>
> -----Original Message-----
> From: cyril vidal [mailto:cyr.vidal@wanadoo.fr]
> Sent: lundi 27 mai 2002 14:29
> To: xml-tech@xmlfr.org
> Subject: [xml-tech] Re: RE : Re:
>
>
>
> Bonjour,
>
> voilà un petit exemple de script Microsoft basé DOM qui récupère les données
> d'un formulaire et les ajoute à in fichier "personnel.xml" à une place
> déterminée.
> Il y a beaucoup mieux à faire mais ça peut toujours donner une idée.
>
> CYril
>
> <html>
> <head>
> <title>Formulaire</title>
> <script language="Javascript">
> function ecrire() {
> var objDOM;
> objDOM = new ActiveXObject("MSXML.DOMDocument");
> objDOM.async = false;
> objDOM.load("personnel.xml");
> var objPersNode;
> objPersNode = objDOM.documentElement.firstChild.firstChild;
> var objCopyNode;
> objCopyNode = objPersNode.cloneNode(true);
> objCopyNode.firstChild.firstChild.nodeValue =
> document.form1.nom.value;
> objCopyNode.firstChild.nextSibling.firstChild.nodeValue =
> document.form1.prenom.value;
> objCopyNode.firstChild.nextSibling.nextSibling.firstChild.nodeValue =
> document.form1.bureau.value;
>
> objCopyNode.firstChild.nextSibling.nextSibling.nextSibling.firstChild.nodeVa
> lue = document.form1.fonction.value;
> var objServNode;
> objServNode = objDOM.documentElement.firstChild;
> objServNode.appendChild(objCopyNode);
> objDOM.save("personnel.xml");
> }
> </script>
> <link rel="stylesheet" type="text/css" href="affiche.css"/>
> </head>
>
> <body>
> <p>
> <h1>Veuillez entrer les informations concernant le nouveau
> personnel</h1>
> </p>
> <form name="form1">
> <table>
> <tr>
> <th>Nom :</th>
> <td> <input type="text" name="nom"> </td>
> </tr>
> <tr>
> <th>Prenom :</th>
> <td> <input type="text" name="prenom"> </td>
> </tr>
> <tr>
> <th>Bureau :</th>
> <td> <input type="text" name="bureau"> </td>
> </tr>
> <tr>
> <th>Fonction :</th>
> <td> <input type="text" name="fonction"> </td>
> </tr>
> </table>
> <h2><input class="envoi" type="button" value="Envoyez!" name="submit"
> onclick="ecrire()"></h2>
> </form>
>
> </body>
> </html>
>
>
>
> >Messsage du 27/05/2002 12:47
> >De : <xml-tech@xmlfr.org>
> >A : <xml-tech@xmlfr.org>
> >Copie à :
> >Objet : [xml-tech] Re: RE : Re: [xml-tech]
> >
> > gaetan7 a écrit :
> >
> > > Je pense utiliser un script dans mon xsl qui me permettra de
> > >
> > > -----Message d'origine-----
> > > De : salvatim@clio.unice.fr [mailto:salvatim@clio.unice.fr]
> > > Envoyé : lundi 27 mai 2002 12:17
> > > À : xml-tech@xmlfr.org
> > > Je pense à un script à insérer dans mon xsl qui me permettrai de
> > > réaliser la sauvegarde.
> >
> > Cette sauvegarde se fait elle par le biais d'une page web sur un site,
> auquel une
> > solution à base de script php ou cgi s'impose (a moins que vous pûissiez
> avoir
> > les permissions pour élargir le "bac à sable d'une applet java"),
> > ou par un programme en local sur un bureau? auquel cas un programme
> java/C/ C++
> > basé surun parser xml de type xalan/xerces en utilisant le DOM pourra
> convenir.
> >
> >
> > >
> > > J'ai un autre petit problème, je souhaiterai afficher le contenu d'une
> > > balise dans un élément textbox du formulaire, j'ai utilisé cette
> > > méthode:
> > > <XML ID="header" SRC="digitalheader.xml"></XML>
> >
> > > <xsl:if match=".[HElementType='textbox']">
> > >
> >
> > La transformation se fait elle à la volée par le navigateur? ou sur un
> serveur?
> > dans ce cas , quel est le fichier xml et la règle complète englobant votre
> if...
> >
> > >
> > > <INPUT ID="Code" TYPE="text" SIZE="20" DATASRC="#header"
> > > DATAFLD="digitalheader/Functions/Analoginput/CJCheader/Address16Bit/
> > > HElementValue">
> > > </INPUT>
> > > <xsl:if>
> > > mais cela ne fonctionne pas :(
> > > Merci
> > >
> > >
> > >
>
>
> > > ifrance.com, l'email gratuit le plus complet de l'Internet !
> > > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > > http://www.ifrance.com/reloc/email.emailif
> > >
> > > --
> > > Devenez redacteur <XML>fr et contribuez au developpement du
> > > xml francophone (http://xmlfr.org/infos/redacteurs/) !
> > >
> > > Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
> > >
> > > Cette liste est a votre disposition pour discuter en francais de
> > > tout sujet technique lie a XML.
> > >
> > > Pour resilier votre abonnement, envoyez un message contenant
> > > la commande "unsubscribe" a xml-tech-request@xmlfr.org
> > > (mailto:xml-tech-request@xmlfr.org?Subject
> >
> > --
> > Devenez redacteur <XML>fr et contribuez au developpement du
> > xml francophone (http://xmlfr.org/infos/redacteurs/) !
> >
> > Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
> >
> > Cette liste est a votre disposition pour discuter en francais de
> > tout sujet technique lie a XML.
> >
> > Pour resilier votre abonnement, envoyez un message contenant
> > la commande "unsubscribe" a xml-tech-request@xmlfr.org
> > (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
> >
> >
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|