Hallo,
als relativer Neuling in Sachen XML/XSL hätte ich mal eine Frage, die bestimmt so oder ähnlich schon tausendmal gestellt wurde:
Problem: Innerhalb einer XSL-Datei ist u.a. eine Tabelle enthalten, welche
zusätzliche Informationen anzeigt; diese Tabelle soll vom Betrachter per Button oder per Link ein- bzw. ausgeblendet werden können, um die Übersicht der Seite zu verbessern. In HTML habe ich bereits Dutzende Beispiele gefunden, leider funktionieren alle nicht in XML/XSL...
Kann mir jemand sagen, wie das genau geht? XSL-Datei sieht folgendermassen aus:
<pre>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<script type="text/javascript">
<!--
<B>// das funktioniert leider nicht...</B>
function ShowVarianten()
{
document.all.TVAR.innerText ='hallo!';
}
-->
</script>
<body>
<h3>Geänderte Artikel</h3>
<p style="font-size: 8pt" >
<a href="javascript:ShowVarianten()">Varianten anzeigen</a>
</p>
<table width="98%">
<tr>
<td>
<xsl:for-each select="AUSWAHL/ARTIKEL">
[... Artikeleigenschaften ...]
<xsl: if test="<B>???</B>">
// hier jetzt Tabelle mit Zusatzinfos anzeigen
// für jeden Artikel eine, daher kann keine
// eindeutige(!) ID gesetzt werden ?
<table>
[... Zusatzinfos ...]
</table>
</xsl:if>
</xsl:for-each>
</pre>
Die Kommentare sind nur zur Erklärung da drin, in der Original-XSL natürlich nicht... Wie man sieht, werden die einzelnen Artikel mit einer Schleife angezeigt; ich möchte nun, wie gesagt, die Zusatzinfos ausblenden, dabei dachte ich daran, evtl. ein zusätzliches Element beim Klick auf den Button hinzuzufügen, welches ich per xsl:if dann weiter unten abfragen kann (hab das oben mal mit drei Fragezeichen angedeutet). Wie kann ich sowas - ggf. mit JavaScript - bewerkstelligen?
Ich habe auch schon Beispiele mit ActiveX gefunden, die setzen aber voraus, dass man den Dateinamen der XML-Datei kennt; diese wird bei mir temporär dynamisch erzeugt, so dass ich genau diesen Dateinamen nicht habe...
Hoffe, Ihr könnt mir weiterhelfen, Uli
als relativer Neuling in Sachen XML/XSL hätte ich mal eine Frage, die bestimmt so oder ähnlich schon tausendmal gestellt wurde:
Problem: Innerhalb einer XSL-Datei ist u.a. eine Tabelle enthalten, welche
zusätzliche Informationen anzeigt; diese Tabelle soll vom Betrachter per Button oder per Link ein- bzw. ausgeblendet werden können, um die Übersicht der Seite zu verbessern. In HTML habe ich bereits Dutzende Beispiele gefunden, leider funktionieren alle nicht in XML/XSL...
Kann mir jemand sagen, wie das genau geht? XSL-Datei sieht folgendermassen aus:
<pre>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<script type="text/javascript">
<!--
<B>// das funktioniert leider nicht...</B>
function ShowVarianten()
{
document.all.TVAR.innerText ='hallo!';
}
-->
</script>
<body>
<h3>Geänderte Artikel</h3>
<p style="font-size: 8pt" >
<a href="javascript:ShowVarianten()">Varianten anzeigen</a>
</p>
<table width="98%">
<tr>
<td>
<xsl:for-each select="AUSWAHL/ARTIKEL">
[... Artikeleigenschaften ...]
<xsl: if test="<B>???</B>">
// hier jetzt Tabelle mit Zusatzinfos anzeigen
// für jeden Artikel eine, daher kann keine
// eindeutige(!) ID gesetzt werden ?
<table>
[... Zusatzinfos ...]
</table>
</xsl:if>
</xsl:for-each>
</pre>
Die Kommentare sind nur zur Erklärung da drin, in der Original-XSL natürlich nicht... Wie man sieht, werden die einzelnen Artikel mit einer Schleife angezeigt; ich möchte nun, wie gesagt, die Zusatzinfos ausblenden, dabei dachte ich daran, evtl. ein zusätzliches Element beim Klick auf den Button hinzuzufügen, welches ich per xsl:if dann weiter unten abfragen kann (hab das oben mal mit drei Fragezeichen angedeutet). Wie kann ich sowas - ggf. mit JavaScript - bewerkstelligen?
Ich habe auch schon Beispiele mit ActiveX gefunden, die setzen aber voraus, dass man den Dateinamen der XML-Datei kennt; diese wird bei mir temporär dynamisch erzeugt, so dass ich genau diesen Dateinamen nicht habe...
Hoffe, Ihr könnt mir weiterhelfen, Uli
Comment