Ich schicke dir mal meinen Schichtplan, dann stellst du solche Fragen, wenn ich daheim bin.
Also, hier erst mal eine Notlösung (muss gleich pennen, habe morgen Frühschicht
):
XML-Code:
<xsl:template match="log">
<
html>
<head>
<script type="text/javascript"><![CDATA[
function toggle(obj)
{
cb = document.getElementById(obj + "_cb");
if (cb == null) return;
cells = document.getElementsByTagName("TR");
for (i = 0; i < cells.length - 1; i++)
{
if (cells[i].getAttribute("id") == obj)
{
cells[i].style.display = (cb.checked)?"":"none";
}
}
}
]]></script>
</head>
<body>
<input type="checkbox" id="Debug_cb" checked="checked" onclick="toggle('Debug');"/> Debug
<input type="checkbox" id="Info_cb" checked="checked" onclick="toggle('Info');"/> Informationen
<input type="checkbox" id="Task_cb" checked="checked" onclick="toggle('Task');"/> Aufgaben
<input type="checkbox" id="Warning_cb" checked="checked" onclick="toggle('Warning');"/> Warnungen
<input type="checkbox" id="Error_cb" checked="checked" onclick="toggle('Error');"/> Fehler
</xsl:template>
<xsl:template match="Info|Task|Error|Warning|Debug|Hint|Start|Ende">
<tr>
<xsl:attribute name="class">
</xsl:attribute>
<xsl:attribute name="id"><xsl:value-of select="name()"/></xsl:attribute>
<td><xsl:value-of select="name()"/></td>
<td><xsl:value-of select="@TS"/></td>
<td><xsl:apply-templates /></td>
</tr>
</xsl:template>
Wie du hoffentlich siehst, habe ich ein weiteres Attribut ("id") für jede Tabellenzeile (tr) erstellt, dass als Inhalt den Namen der Aktion bekommt (Info, Warning, usw.). Oben in der
HTML-Seite sind entsprechende Checkboxen ergänzt, die auch den Namen tragen (mit "_cb"-Postfix).
Klickst du eine Checkbox an, dann
toggelt das Skript los: Es ermittelt den Status der gewählten Checkbox, sucht sich dann alle Tabellenzeilen und schaltet die auf sichtbar oder unsichtbar.
Bisher aufgetretenes Problem: Wenn du eine Box abwählst und die Seite per F5 neu lädtst, dann baut sich der
XML-Code komplett auf, aber die Box bleibt abgewählt. In dem Fall musst du 2x klicken, um die unerwünschten Infos zu verbergen. Wenn dir das reicht, soll es mir recht sein.