26Ksimon86: Auflistung der Knoten

Beitrag lesen

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