Hallo Thomas...
Hier noch die geforderten xml und xsl...
<?xml version="1.0" encoding="UTF-8"?>
<report>
<rule id="3">
<name>Name aus rule3</name>
<comment>comment aus rule3</comment>
<rulesets>
<ruleset ruleset_id="102">
</ruleset>
</rulesets>
</rule>
<rule id="99">
<name>Name aus rule99</name>
<comment>comment aus rule99</comment>
<rulesets>
<ruleset ruleset_id="128">
</ruleset>
</rulesets>
</rule>
<ruleset id="102">
<name>Name aus Ruleset102</name>
<comment>comment aus ruleset102</comment>
<rules>
<rule rule_id="3"></rule>
<rule rule_id="4"></rule>
<rule rule_id="2"></rule>
</rules>
</ruleset>
<ruleset id="128">
<name>Name aus ruleset128</name>
<comment>comment aus Rule128</comment>
<rules>
<rule rule_id="98"></rule>
<rule rule_id="99"></rule>
<rule rule_id="100"></rule>
<rule rule_id="97"></rule>
</rules>
</ruleset>
<results>
<hits rule_id="99"/>
<hits rule_id="3"/>
</results>
</report>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<html>
<head>
</head>
<body><xsl:apply-templates select="//results"/>
</body>
</html>
</xsl:template>
<xsl:template match="results">
<xsl:param name="HitsRule" select="//results/hits/@rule_id"/>
<p><b>Resultate</b></p>
<xsl:for-each select="//results/hits">
<ul type="disc">
<li>
<xsl:value-of select="//ruleset/rules/rule[@rule_id=$HitsRule]/parent::node()/preceding-sibling::name"/>
</li>
<li>
<xsl:value-of select="//ruleset/rules/rule[@rule_id=$HitsRule]/parent::node()/preceding-sibling::comment"/>
</li>
<li><xsl:value-of select="//rule[@id=$HitsRule]/name"/></li>
</ul>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Ich denke beim ausführen ist schnell ersichtlich was mein Problem ist... eigentlich könnte ich die Ausgabe ja auch über die Position steuern allerdings ist die Anzahl der results/hits immer unterschiedlich..
Vielen Dank für deine/eure Hilfsbereitschaft
simon