Variable in xsl: Mustervergleichsmuster

8

Gegeben

Ein XSLT Stylesheet mit einer globalen Variable:

%Vor%

Frage

Woher kommt die Einschränkung, dass die Verwendung von Variablen in Prädikaten im Übereinstimmungsmuster xsl:template falsch ist, aber in xsl:apply-templates Auswahlmuster akzeptabel ist?

%Vor%     
newtover 12.01.2012, 17:00
quelle

1 Antwort

10

Variablen dürfen in Übereinstimmungsausdrücken in XSLT 1.0 nicht verwendet werden.

Aus der XSLT 1.0-Spezifikation: Vorlagenregeln definieren

  

Es ist ein Fehler, dass der Wert des Übereinstimmungsattributs a enthält   VariableReferenz.

Variablen sind in Übereinstimmungsausdrücken in XSLT 2.0 zulässig. .

Aus der XSLT 2.0-Spezifikation: Syntax von Mustern

  

Muster können mit einem ID-FO- oder Tastenfunktionsaufruf beginnen, vorausgesetzt, dass   Der zu vergleichende Wert wird entweder als Literal oder als Referenz angegeben   zu einer Variablen oder einem Parameter und dem Schlüsselnamen (im Falle des Schlüssels)   Funktion) wird als String-Literal geliefert. Diese Muster werden niemals   Finde einen Knoten in einer Baumstruktur, deren Wurzel kein Dokumentknoten ist.

    
Mads Hansen 12.01.2012, 18:02
quelle

Tags und Links