2012-11-24 29 views
18

Używam klasy XML online i nie jestem do końca pewien, do czego służy "$".

szczególności, tutaj jest blok tekstu z książki ..

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

Znak dolara przed pomocy jest gdzie jestem zdezorientowany. Dlaczego musi tam być?

Odpowiedz

21

Jest to właściwie reguła XPath - dlatego może być używana w dowolnym wyrażeniu XPath wewnątrz kodu XSLT.

Znak $ jest używany jako pierwszy znak w odwołaniu do zmiennej (lub parametru) w wyrażeniu XPath.

Zatem:

$person 

oznacza: zmienna xsl lub parametr nazwany person.

Jeśli używamy tylko:

person 

oznacza to coś zupełnie innego: wszystkie dzieci węzła kontekstowego, które są o nazwie person

Zapominając o $ przed nazwą zmiennej w zmiennej odniesienia jest jeden z najczęstszych błędów popełnianych przez programistów XSLT.

Dobrą praktyką jest stosowanie takich nazw dla zmiennych lub parametrów, które wizualnie wskazują, że nazwany obiekt jest zmienną/parametrem.

Na przykład, ja zawsze poprzedzić nazwę zmiennej z v i nazwę parametru z p:

$vPerson 

$pTable 
+0

Tylko to, co potrzebne. Dzięki! – jrounsav

+1

@ Cluckles, Serdecznie zapraszamy - zobacz moją zaktualizowaną odpowiedź, aby uzyskać więcej informacji. Prosimy również o rozważenie * przyjęcia * tej odpowiedzi. –

+0

właśnie to przyjąłem. Dziękuję za dokładną odpowiedź! – jrounsav