XSL Template überschreiben
Coosh
- xsl
0 Holge r
Hallo,
Ich arbeite an einer größeren Webseite mit und pflege dort einen Teilbereich. Nun soll dieser Teilbereich eine leicht veränderte Navigation bekommen. Die Navigation ist jedoch für die gesammte Website in einem XSL Template definiert. Die Datei, in welcher die Navigation definiert ist, wird mit xsl:import in die XSL Datei meines Teilbereichs importiert. Nun dachte ich, dass ich in meiner eigenen XSL Datei die Template-Definition der Navigation überschreiben könnte, da doch nach selfhtml gilt: "Im Konfliktfall haben Stylesheet-Definitionen, die in der aktuellen Stylesheet-Datei definiert werden, Vorrang vor importierten Definitionen."
Wenn ich nun aber <xsl:template name="menuentry">...</xsl:template> in meine XSL Datei schreibe, bekomme ich die Fehlermeldung: "XSLTransform: Found multiple definitions of template 'unibi:menuentry'. "
Kann ich nun doch nicht alte Template Definitionen überschreiben?
Ich hoffe, ich habe alle nötigen Informationen gegeben.
Danke Euch und Besten Gruß,
Frank
Sollte eigentlich funktionieren, wenn du xsl:import und nicht xsl:include
verwendest. Siehe http://www.w3.org/TR/xslt#section-Combining-Stylesheets
und weiter http://www.w3.org/TR/xslt#apply-imports
Allerdings, wuerde ich von diesem Mechanismus abraten, da dass generell zu Problemen fuehren koennte.
Gruss, H.