Thomas J.S.: call-template name="$variable"

Beitrag lesen

Hallo,

Bevor unter [1], [3] und [5] der Name des aufzurufenden Template aus Testzwecken ausgeben wird, wird er in eine Variable geschrieben. Funzt auch wunderbar. Wenn ich allerdings versuche die Variable bei [2], [4] und [6] in das Attribut name von <xsl:call-template reinzuschreiben, schmeißt mir der XSLT-Prozessor eine Fehlermeldung:

Absolut korrektes Verhalten.

Kann ich das denn bei call-template so name="$maintemp" oder name="{$subtemp}" machen ?

Nein. Im name-Attribut von template und call-temlate muss ein QName (ein Qualifizirter XML-Name) stehen, keine Variablen, keine XPath-Ausdrücke etc.

By the way: die Templatenamen, die in den Variablen stehen, hab ich angelegt.

Um pigelig genau zu sein, hast du es nicht gemacht, denn dann müsste dein Template $template etc. im "name" tragen und das ist eben nicht erlaubt.

Grüße
Thomas