hallo,
Ich glaube ich habe XPath noch nicht so ganz verstanden?!
Ich arbeite mit "apply-templates", aber kriege meinen
gewuenschten Output einfach nicht hin.
Bezogen auf unten aufgefuehrten Baum moechte ich folgenden
Output erzeugen:
123456 1.1
123456 2.2
-------- die xsl datei -------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/Root">
<html>
<head></head>
<body>
xsl:apply-templates/
</body>
</html>
</xsl:template>
<xsl:variable name="knum" select="//Kunde_Nr" />
<xsl:template match="Element1/Element2/Kunde">
<table border="1">
<tr>
<th>kunden nummer</th>
<th>tel nummer</th>
<th>versicherung</th>
<th>steuer</th>
</tr>
<tr>
<td><xsl:value-of select="Nr" /></td>
<td><xsl:value-of select="TelNr" /></td>
<td>
<xsl:if test="Nr = $knum">
<xsl:for-each select="$knum/../Typ">
<xsl:if test="contains(current(),'Gegenwaertig')">
<xsl:value-of select="../Versicherung" />
</xsl:if>
</xsl:for-each>
</xsl:if>
</td>
<td>
<xsl:if test="Nr = $knum">
<xsl:for-each select="$knum/../Typ">
<xsl:if test="contains(current(),'Gegenwaertig')">
<xsl:value-of select="../Steuern" />
</xsl:if>
</xsl:for-each>
</xsl:if>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="text()"></xsl:template>
</xsl:stylesheet>
-------------------------------------------------------------
möglich, dass es eine bessere lösung gibt, mir ist aber nichts dazu eingefallen.
-----
und jetzt etwas kritik:
hier wird dir gerne geholfen, falls man/frau dazu in der lage ist ...
da es bei deinen fragen sich nicht um detailfragen handelt, kann man dir nur (muss man dir) eine mögliche gesamtlösung geben. ...
...nur ich habe bei deinen daten das gefühl, dass du es für deinen job brauchst und - verzeih bitte- aber wie es mir scheint, bist damit etwas überfordert.
sollte meine annahme zutreffen, sollte dir deine firma wenn schon keinen kurs, aber zumindest einige gute xslt bücher bezahlen.
nichts für ungut! wie gesagt, man/frau hilft hier gerne, aber niemand wird lange und gern den job eines anderen in seiner freizeit machen.
grüße
thomas
ps: mein posting soll dich nicht davon abhalten weiter fragen zu stellen, wenn du hilfe brauchst.