2012-11-24 8 views
18

Sto prendendo una lezione XML online e non sono del tutto sicuro di cosa sia il "$" usato.

In particolare, ecco un isolato dal libro di testo ..

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

Il simbolo del dollaro di fronte degli aiuti è dove mi sono confuso. Perché ha bisogno di essere lì?

risposta

21

Questa è in realtà una regola XPath, quindi può essere utilizzata in qualsiasi espressione XPath all'interno del codice XSLT.

Il carattere $ viene utilizzato come primo carattere in un riferimento di variabile (o parametro) all'interno di un'espressione XPath.

Così:

$person 

significa: la variabile xsl o parametro denominato person.

Se usiamo solo:

person 

questo significa qualcosa di completamente diverso: tutti i figli del nodo di contesto che sono chiamati person

dimenticare la $ prima del nome della variabile in un riferimento variabile è uno degli errori più frequenti commessi dai programmatori XSLT.

È buona norma utilizzare tali nomi per variabili o parametri, che indicano visivamente che l'oggetto denominato è una variabile/parametro.

Per esempio, ho sempre prefisso al nome di una variabile con v e il nome del parametro con p:

$vPerson 

$pTable 
+0

Proprio quello che mi serviva. Grazie! – jrounsav

+1

@ Cluckles, siete i benvenuti - vedere la mia risposta aggiornata per ulteriori informazioni. Inoltre, per favore, considera * accettando * questa risposta. –

+0

l'ho appena accettato. Grazie per la risposta completa! – jrounsav