2012-11-24 13 views
18

Ich nehme eine XML-Klasse online und ich bin mir nicht ganz sicher, wofür das "$" verwendet wird.

Insbesondere hier ist ein Block aus dem Lehrbuch ..

<xsl:value-of select="key('agentID', $aID)" /> 

Die Dollar-Zeichen vor der AID sind, wo ich bin verwirrt. Warum muss es da sein?

Antwort

21

Dies ist eigentlich eine XPath-Regel - daher kann sie in jedem XPath-Ausdruck innerhalb von XSLT-Code verwendet werden.

Das Zeichen $ wird als erstes Zeichen in einer Variablen- (oder Parameter-) Referenz innerhalb eines XPath-Ausdrucks verwendet.

So:

$person 

bedeutet: die xsl Variable oder Parameter person genannt.

Wenn wir verwenden nur:

person 

das bedeutet etwas ganz andere: alle Kinder des Kontextknotens, die person

vergessend die $ vor dem Variablenname in einer variablen Referenz benannt ist Einer der häufigsten Fehler von XSLT-Programmierern.

Es ist eine gute Praxis, solche Namen für Variablen oder Parameter zu verwenden, die visuell anzeigen, dass das benannte Objekt eine Variable/Parameter ist.

Zum Beispiel habe ich das Präfix immer den Namen einer Variablen mit v und dem Namen des Parameters mit p:

$vPerson 

$pTable 
+0

Genau das, was ich brauchte. Vielen Dank! – jrounsav

+1

@Cluckles, Sie sind willkommen - siehe meine aktualisierte Antwort für weitere Informationen. Bedenken Sie bitte auch, * diese Antwort * zu akzeptieren. –

+0

hat es einfach akzeptiert. Danke für die gründliche Antwort! – jrounsav