1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
<?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>Listing VO</title>
<script language="JScript"><![CDATA[
// Déclaration des variables
var XSLSource = new Object();
var XMLSource = new Object();
// Chargement des documents XML et XSL
XMLSource = document.XMLDocument;
XSLSource = document.XSLDocument;
function tri (rubrique) {
// Déclaration des variables
var XSLSort = new Object();
// Sélection de l'ordre xsl:sort
XSLSort =
XSLSource.documentElement.selectNodes("//xsl:sort");
// Affectation de la rubrique de tri
if (XSLSort[0].attributes(0).text == rubrique.toString()){
if ( XSLSort[0].attributes(1).text == "ascending") {
XSLSort[0].attributes(1).text = "descending";
} else {
XSLSort[0].attributes(1).text = "ascending";
}
} else {
XSLSort[0].attributes(1).text = "ascending";
}
XSLSort[0].attributes(0).text = rubrique.toString();
// affichage de l'ordre de tri
XSLem = XSLSource.documentElement.selectNodes("//p/em");
XSLem [0].text = rubrique.toString();
XSLem [1].text = XSLSort[0].attributes(1).text ;
// Réaffichage de la page
document.body.innerHTML =
XMLSource.transformNode(XSLSource);
}]]></script>
</head>
<body>
<p>Tri sur <em>NUMERO</em> par ordre <em>descending</em>.</p>
<p>Cliquez sur un titre pour changer l'ordre de tri.</p>
<table>
<tr>
<th align="left">Trier selon
<select onChange="tri(this.options[this.selectedIndex].value);">
<option value="MARQUE">
par marque
</option>
<option value="MODELE" selected="selected">
par modèle
</option>
<option value="DATE_IMMAT">
par date d'immatriculation
</option>
</select>
</th>
</tr>
</table>
<table border="1" cellspacing="1">
<tr>
<th id="HeaderColumnNUMERO"
onclick="javascript:tri('NUMERO');">Numéro</th>
<th id="HeaderColumnMARQUE"
onclick="javascript:tri('MARQUE');">Marque</th>
<th id="HeaderColumnMODELE"
onclick="javascript:tri('MODELE');">Modèle</th>
<th id="HeaderColumnIMMATRICULATION"
onclick="javascript:tri('IMMATRICULATION');"
>Immatriculation</th>
<th id="HeaderColumnDATE_IMMAT"
onclick="javascript:tri('DATE_IMMAT');"
>Date d'immatriculation</th>
</tr>
<xsl:apply-templates select="VEHICULES/VEHICULE">
<xsl:sort select="NUMERO" order="descending"/>
</xsl:apply-templates>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="VEHICULE">
<tr>
<td>
<xsl:value-of select="NUMERO"/>
</td>
<td>
<xsl:value-of select="MARQUE"/>
</td>
<td>
<xsl:value-of select="MODELE"/>
</td>
<td>
<xsl:value-of select="IMMATRICULATION"/>
</td>
<td>
<xsl:value-of select="DATE_IMMAT"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet> |
Partager