Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 Junos OS 自动化脚本中使用命名模板

Junos OS 提供了多个命名模板,可用于提交、操作、事件和 SNMP 脚本,以便在运行 Junos OS 的设备上更轻松地完成脚本任务。以下部分概述了如何导入和使用不同脚本语言的模板:

在 SLAX 和 XSLT 脚本中使用命名模板

若要在 SLAX 和 XSLT 脚本中使用命名模板,脚本必须导入 junos.xsl 文件,并在样式表声明中声明相应的命名空间 统一资源标识符 (URI)。Junos OS 命名模板在命名空间中定义,并带有关联的 URI http://xml.juniper.net/junos/commit-scripts/1.0

通过在 XSLT 脚本中包含 tag 元素或import在 SLAX 脚本中包含<xsl:import/>语句并指定 junos.xsl 文件位置,将 junos.xsl 文件导入到脚本中。

SLAX 和 XSLT 脚本通常将jcs前缀映射到 URI,以避免与标准 XSLT 或用户定义模板的名称冲突。然后,脚本使用适当的前缀限定命名模板,该前缀在处理过程中将扩展为其关联的 URI 引用。通过将属性包含在 xmlns:jcs XSLT 脚本的开始<xsl:stylesheet>标记元素中或将语句包含在 ns jcs SLAX 脚本中,将前缀映射jcs到 URI。

若要在脚本中调用命名模板,请将元素包含在 XSLT 脚本中,或call将语句包含在 <xsl:call-template name="template-name"> SLAX 脚本中,并传递任何必需或可选参数。模板参数按名称分配,可以按任意顺序显示。这与函数不同,函数必须按照函数定义指定的精确顺序将参数传递到函数中。

下面的示例将 junos.xsl 文件导入到脚本中,并将 jcs 前缀映射到 URI http://xml.juniper.net/junos/commit-scripts/1.0 标识的命名空间。该脚本演示了对模板的 jcs:edit-path 调用。

XSLT 语法

SLAX 语法

在 Python 脚本中使用命名模板功能

导入 jcs 模块的 Python 脚本可以执行与 SLAX 和 XSLT 脚本中使用的命名模板等效的 Python 等效函数。这些函数在 Python 脚本中提供的功能与相应的命名模板在 SLAX 或 XSLT 脚本中提供的功能基本相同。要确定哪些命名模板具有 Python 脚本中支持的功能,请参阅 了解 Junos OS 自动化脚本中的命名模板

若要在 Python 脚本中调用与命名模板等效的函数,请包含任何必需的变量声明,调用该函数,并传递任何必需或可选参数。请注意,在 Python 脚本中,函数名称必须使用下划线而不是连字符。例如:

Python 语法