Subject: RE: How to make the user selecting a view in a XSL stylesheet from a button From: Stéphane Mamdy <smamdy@xxxxxxxxxxxxx> Date: Wed, 16 Aug 2000 12:58:54 +0100 |
Yes if a don't make any mistake, You may be able doing it with CSS only. The XSL document must contain HTML and javascript. The user show or hide some parts of the document by using a button which runs a javascript function. This function changes the attributes of HTML parts (using the property DISPLAY) like <div> or <span>. The advantage of this is that you can produce code run both on Netscape Navigators( v 6.x) and IE. A limitation : I think you can't change other things in the document such as the order sorting... I haven't used CSS yet... Stéphane Mamdy. -----Message d'origine----- De : owner-xsl-list@xxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]De la part de Maulik Modi Envoyé : vendredi 11 août 2000 20:28 À : xsl-list@xxxxxxxxxxxxxxxx Objet : RE: How to make the user selecting a view in a XSL stylesheet from a button Hi, I am trying to do something similar where I generate tables on the fly by giving the user a Select option. However, is there a way to do this for a thin client where I do not have to use an ActiveXObject? ANy help is appreciated. Thanks, Maulik Stéphane Mamdy <smamdy@xxxxxxxxxxxxx> on 08/11/2000 10:12:33 AM Please respond to xsl-list@xxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxx cc: (bcc: Maulik Modi/Hou-Systems/EnergyTrading/PEC) Subject: RE: How to make the user selecting a view in a XSL stylesheet from a button Yes. Here are the 2 files needed. It works with IE5 and MSXML 3.0. But it's not perfect ! I would l like to put in the subject (GRAIN of advise) selection list only the advise 's subjects (= CONSEIL/SUJET)whitch exist for the selected date (actually, i list all the subjects without checking if the advise exists at that date). I don't find how to do that yet. Your remarks to improve the processing are wellcome... Maybye this files will give some ideas... Stéphane Mamdy. ************ conseil.xml ****************** <?xml version="1.0" encoding="ISO-8859-1" ?> <?xml:stylesheet type="text/xsl" href="liste_conseils.xsl" ?> <LISTE_CONSEIL> <LISTE_DATE> <DATE_CONSEIL SELECTION="2000/08/01">01/08/2000</DATE_CONSEIL> <DATE_CONSEIL SELECTION="2000/07/04">04/07/2000</DATE_CONSEIL> </LISTE_DATE> <LISTE_GRAIN> <GRAIN>Blé tendre</GRAIN> <GRAIN>Maïs</GRAIN> <GRAIN>Orge de mouture</GRAIN> <GRAIN>soja</GRAIN> </LISTE_GRAIN> <CONSEIL ID="123"> <DATE>2000/08/01</DATE> <DATEC>01/08/2000</DATEC> <CATEGORIE>Céréales</CATEGORIE> <SUJET>Blé tendre</SUJET> <ID>Blé tendre</ID> <COMMENTAIRE>La récolte bat son plein avec quelques jours sans pluie.....</COMMENTAIRE> </CONSEIL> <CONSEIL ID="125"> <DATE>2000/08/01</DATE> <DATEC>01/08/2000</DATEC> <CATEGORIE>Céréales</CATEGORIE> <SUJET>Maïs</SUJET> <ID>Maïs</ID> <COMMENTAIRE>Peut-on encore parler d'ancienne campagne, tant les disponibilités sont maigres. ...</COMMENTAIRE> </CONSEIL> <CONSEIL ID="124"> <DATE>2000/08/01</DATE> <DATEC>01/08/2000</DATEC> <CATEGORIE>Céréales</CATEGORIE> <SUJET>Orge de mouture</SUJET> <ID>Orge de mouture</ID> <COMMENTAIRE>Petite vitesse de croisière car la demande est réduite....</COMMENTAIRE> </CONSEIL> <CONSEIL ID="81"> <DATE>2000/07/04</DATE> <DATEC>04/07/2000</DATEC> <CATEGORIE>Céréale</CATEGORIE> <SUJET>Blé tendre</SUJET> <ID>Blé tendre</ID> <COMMENTAIRE>La situation ne s'est pas sensiblement améliorée depuis mardi.....</COMMENTAIRE> </CONSEIL> <CONSEIL ID="83"> <DATE>2000/07/04</DATE> <DATEC>04/07/2000</DATEC> <CATEGORIE>Céréale</CATEGORIE> <SUJET>Maïs</SUJET> <ID>Maïs</ID> <COMMENTAIRE>Toujours l'article fort.....</COMMENTAIRE> </CONSEIL> <CONSEIL ID="82"> <DATE>2000/07/04</DATE> <DATEC>04/07/2000</DATEC> <CATEGORIE>Céréale</CATEGORIE> <SUJET>Orge de mouture</SUJET> <ID>Orge de mouture</ID> <COMMENTAIRE>Petit courant d'affaires sur le rapproché pour quelques utilisateurs métropolitains.....</COMMENTAIRE> </CONSEIL> <CONSEIL ID="13"> <DATE>2000/07/04</DATE> <DATEC>04/07/2000</DATEC> <CATEGORIE>Oléoprotéagineux</CATEGORIE> <SUJET>Graines de colza</SUJET> <ID>Graines de colza</ID> <COMMENTAIRE>Le retrait mesuré du dollar depuis la fin de la semaine dernière a calmé le marché...</COMMENTAIRE> </CONSEIL> </LISTE_CONSEIL> ************ liste_conseils.xsl ****************** <?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="mynamespace" version="1.0"> <xsl:output method="html" version="4.0"/> <xsl:param name="param" /> <xsl:param name="param_date" /> <xsl:template match="/"> <HTML> <HEAD> <title>Cotations des cereales</title> <style type="text/css"> .SSTITRE { font-weight:bold; text-decoration:none; }; .DATE { font: 8pt verdana, arial, helvetica, sans-serif; }; .TJ { text-align:justify; }; </style> <SCRIPT><xsl:comment><![CDATA[ function Selection_grain(e){ var tem = new ActiveXObject("MSXML2.XSLTemplate"); tem.stylesheet = stylesheet; var proc = tem.createProcessor(); proc.addParameter("param",e.grain.options[e.grain.selectedIndex].value); proc.addParameter("param_date",e.date_rapport.options[e.date_rapport.selecte dIndex].value); proc.input = source; proc.transform(); document.body.innerHTML = proc.output; } function Selection_date(e) { var tem = new ActiveXObject("MSXML2.XSLTemplate"); tem.stylesheet = stylesheet; var proc = tem.createProcessor(); proc.addParameter("param",e.grain.options[e.grain.selectedIndex].value); proc.addParameter("param_date",e.date_rapport.options[e.date_rapport.selecte dIndex].value); proc.input = source; proc.transform(); document.body.innerHTML = proc.output; } ]]></xsl:comment></SCRIPT> <SCRIPT for="window" event="onload"><xsl:comment><![CDATA[ // stylesheet=document.XSLDocument; stylesheet = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); stylesheet .async = false; stylesheet .load("http://agritest:81/cotation/xsl/liste_conseils.xsl"); source=document.XMLDocument; ]]></xsl:comment></SCRIPT> </HEAD> <BODY> <CENTER> <H1>Conseils <xsl:value-of select="$param" /> </H1> <xsl:call-template name="CONSTRUCTION-FORMULAIRE" /> <p/> <table> <xsl:choose> <xsl:when test="$param='' and $param_date=''"> <xsl:call-template name="AFFICHE-DERNIER" /> </xsl:when> <xsl:when test="$param=''"> <xsl:apply-templates select="/LISTE_CONSEIL/CONSEIL[DATE=$param_date]" /> </xsl:when> <xsl:when test="$param_date=''"> <xsl:apply-templates select="/LISTE_CONSEIL/CONSEIL[SUJET=$param]" /> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="/LISTE_CONSEIL/CONSEIL[DATE=$param_date and SUJET=$param]" /> </xsl:otherwise> </xsl:choose> </table> </CENTER> </BODY> </HTML> </xsl:template> <xsl:template match="CONSEIL"> <tr><td> </td><td> </td></tr> <tr><td><xsl:value-of select="SUJET"/></td><td align="right"><div class="DATE"><span class="DATE"><xsl:value-of select="DATE"/></span></div></td></tr> <tr><td> </td><td> </td></tr> <tr><td colspan = "2"> <div class="tj"><span class="tj"><xsl:value-of select="COMMENTAIRE"/> <br/><center><hr width="200"/></center></span></div></td></tr> <tr><td></td><td></td></tr> </xsl:template> <xsl:template name="AFFICHE-DERNIER"> <tr><td><p>Sélectionnez une date et un sujet dans la liste...</p></td></tr> </xsl:template> <xsl:template name="AFFICHE-CHOISI"> <p>CHOISI <xsl:value-of select="$param" /></p> </xsl:template> <xsl:template name="CONSTRUCTION-FORMULAIRE"> <center> <form name="formulaire"> <table CELLPADDING="5" CELLSPACING="0" border="1" bordercolor="#A8D000" > <tr> <td> <table CELLPADDING="0" CELLSPACING="0" width="650"> <tr> <td>Selectionner une date </td> <td> <select name="date_rapport" id="date_rapport" onchange="Selection_date(document.forms[0])" > <option value=""></option> <xsl:apply-templates select="LISTE_CONSEIL/LISTE_DATE/*" > <xsl:sort data-type="text" order="descending" select="DATE" /> </xsl:apply-templates> </select> </td> </tr> <tr> <td>Selectionner un sujet </td> <td> <select name="grain" id="grain" onchange="Selection_grain(document.forms[0])"> <option value=""></option> <xsl:apply-templates select="LISTE_CONSEIL/LISTE_GRAIN/*" > <xsl:sort data-type="text" order="ascending" select="." /> </xsl:apply-templates> </select></td></tr> <tr><td colspan="2"> <!-- <input type="button" onclick="Selection_grain(document.forms[0])" value="Selectionner" /> --> </td></tr> </table> </td></tr></table> </form> </center> </xsl:template> <xsl:template match="DATE_CONSEIL"> <OPTION value="{@SELECTION}"><xsl:if test="@SELECTION = $param_date"><xsl:attribute name="SELECTED">1</xsl:attribute></xsl:if><xsl:value-of select="." /></OPTION> </xsl:template> <xsl:template match="GRAIN"> <OPTION value="{.}"><xsl:if test=". = $param"><xsl:attribute name="SELECTED">1</xsl:attribute></xsl:if><xsl:value-of select="." /></OPTION> </xsl:template> </xsl:stylesheet> ************************************************** -----Message d'origine----- De : owner-xsl-list@xxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]De la part de Chris Bayes Envoyé : jeudi 10 août 2000 22:03 À : xsl-list@xxxxxxxxxxxxxxxx Objet : RE: How to make the user selecting a view in a XSL stylesheet from a button >Thanks, Chris >It works fine !!! > >Stéphane Mamdy. Great ;-) Can we see the result? Ciao Chris XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: How to make the user selecting , Maulik Modi | Thread | path-predicate question, Perry Roland |
RE: matching nodes by their value, Harbarth, Juliane | Date | RE: New book on XSLT, ogerardin . cs |
Month |