Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

XSLT 变量概述

在 XSLT 脚本中,可以使用元素 <xsl:variable> 声明变量。该 name 属性指定变量的名称,该名称区分大小写。声明变量后,可以使用以美元符号 ($) 为前缀的变量名称在 XPath 表达式中引用该变量。

变量是不可变的;只有在声明变量时才能设置变量的值,在此之后,该值是固定的。您可以通过在标记中包含<xsl:variable>属性和表达式来select初始化变量。下面的示例声明并初始化变量 location。然后使用该location变量初始化message该变量。

您可以定义局部变量和全局变量。如果变量是元素的 <xsl:stylesheet> 子元素,则它们是全局变量。否则,它们是本地的。全局变量的值可在样式表中的任何位置访问。局部变量的作用域仅限于在其中定义它的模板或代码块。

XSLT 变量可以存储可以计算或静态定义的任何值。这包括数据结构、XML 层次结构以及文本和参数的组合。例如,可以将 操作模式命令 的 XML 输出分配给变量,然后访问变量中的层次结构。

以下模板声明变量 message 。该 message 变量包括文本和参数值。该模板通过引用消息变量的值生成系统日志消息。

生成的系统日志消息如下所示:

用户“user.” 已更改设备device-namedate

表 1 提供了 XSLT 变量声明的示例以及伪代码说明。

表 1:XSLT 变量声明的示例和伪代码

变量声明

伪代码说明

<xsl:variable name="mpls" select="protocols/mpls"/>

[edit protocols mpls] 层次结构级别分配给名为 mpls的变量。

<xsl:variable name="color" select="data[name = 'color']/value"/>

将宏参数的值 color 分配给名为 color的变量。 <data> XPath 表达式中的元素在提交脚本宏中很有用。有关更多信息,请参阅 创建提交脚本宏以读取自定义语法并生成相关的配置语句