hmm... funktioniert nicht so richtig. mache ich da was falsch?
so sieht eine von denen jetzt aus:
<xsl:for-each select="FtpConnection">
<table class="tborder" cellSpacing="1" width="100%" align="center" border="0">
<tr>
<td class="alt2" ondblclick="ToggleDetails('1')" style="CURSOR: pointer; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: 1px outset" align="left">
<a href="javascript:ToggleDetails('1')"><img src="images/expand.gif" border="0" id="FrontImg_1" align="absmiddle"/></a>
<b>FtpConnection</b>
</td>
</tr>
<tr id="FrontRow_1" style="display:none">
<td><table cellSpacing="1" cellPadding="3" width="100%" align="center" border="0">
<tr>
<td class="alt1" width="10%"><b>IpAdresse</b></td>
<td class="alt2"><xsl:value-of select="IpAdresse"/></td>
</tr>
<tr>
<td class="alt1"><b>UserName</b></td>
<td class="alt2"><xsl:value-of select="UserName"/></td>
</tr>
<tr>
<td class="alt1"><b>Passwort</b></td>
<td class="alt2"><xsl:value-of select="Passwort"/></td>
</tr>
</table></td>
</tr>
</table>
</xsl:for-each>
nach deiner beschreibung habe ich dies so gemacht:
<xsl:for-each select="FtpConnection">
<xsl:template match="FtpConnection">
<table class="tborder" cellSpacing="1" width="100%" align="center" border="0">
<tr>
<td class="alt2" ondblclick="ToggleDetails('{generate-id()}')" style="CURSOR: pointer; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: 1px outset" align="left">
<a href="javascript:ToggleDetails('{generate-id()}')"><img src="images/expand.gif" border="0" id="{concat('FrontImg_', generate-id())}" align="absmiddle"/></a>
<b>FtpConnection</b>
</td>
</tr>
<tr id="{concat('FrontRow_', generate-id())}" style="display:none">
<td><table cellSpacing="1" cellPadding="3" width="100%" align="center" border="0">
<tr>
<td class="alt1" width="10%"><b>IpAdresse</b></td>
<td class="alt2"><xsl:value-of select="IpAdresse"/></td>
</tr>
<tr>
<td class="alt1"><b>UserName</b></td>
<td class="alt2"><xsl:value-of select="UserName"/></td>
</tr>
<tr>
<td class="alt1"><b>Passwort</b></td>
<td class="alt2"><xsl:value-of select="Passwort"/></td>
</tr>
</table></td>
</tr>
</table>
</xsl:template>
</xsl:for-each>
ist da was flasch?
danke,
ilja
Hallo,
hmm.. werde dies so aenlich ausprobieren, und wenn ich z.B. sowas habe <a href="javascript:ToggleDetails('0')"><img src="images/expand.gif" border="0" id="FrontImg_0" align="absmiddle"/>
diesen ToggleDetails('0') und id="FrontImg_0"
die NULLen muessen z.b. erweitert werden bei jeder tabelle um eins.
War das jetzt eine Frage? ;-)
Du kannst einfach die generate-id()-Funktion in deinem Template verwenden:
<xsl:template match="Linie">
<!-- diverse Angaben -->
<a href="javascript:ToggleDetails('{generate-id()}')"><img src="images/expand.gif" border="0" id="{concat('FrontImg_', generate-id())}" align="absmiddle"/>
</xsl:template>In diesem Fall wird für jedes <Linie>-Element automatisch eine eigene ID erzeugt. Dann muss du nichts erhöhen und jedes entsprechende Element in deinem HTML hat eine korrekte ID.
Wenn die Nummer wegen der Bilder doch erhöht werden muss: dann gebe statt einer generierte ID die Position des Elements aus:
<xsl:template match="Linie">
<!-- diverse Angaben -->
<a href="javascript:ToggleDetails('{position()}')"><img src="images/expand.gif" border="0" id="{concat('FrontImg_', position())}" align="absmiddle"/>
</xsl:template>Allerdings XSLT beginnt mit bei 1 und nicht bei 0 zu zählen.
Grüße
Thomas