XSLT中$的目的是什么

jro*_*sav 19 xml xslt

我正在网上学习XML课程,我不完全确定"$"用于什么.

具体来说,这是教科书中的一个块.

<xsl:value-of select="key('agentID', $aID)" />
Run Code Online (Sandbox Code Playgroud)

在aID前面的美元符号是我感到困惑的地方.为什么需要在那里?

Dim*_*hev 22

这实际上是一个XPath规则 - 因此它可以在XSLT代码中的任何XPath表达式中使用.

$字符用作XPath表达式中变量(或参数)引用中的第一个字符.

从而:

$person
Run Code Online (Sandbox Code Playgroud)

表示:xsl变量或参数名为person.

如果我们只使用:

person
Run Code Online (Sandbox Code Playgroud)

这意味着完全不同的东西:被命名的上下文节点的所有子节点person

忘记$变量引用中的变量名之前是XSLT程序员最常见的错误之一.

将这些名称用于变量或参数是一种很好的做法,可视地指示命名对象是变量/参数.

例如,我总是在变量v的名称前加上参数的名称和参数的名称p:

$vPerson

$pTable
Run Code Online (Sandbox Code Playgroud)