Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 NETCONF 为配置层次结构请求 XML 方案

该模式表示设备上运行的系统版本Junos OS的所有配置元素。(要确定Junos OS版本,请发出操作请求标记元素,该元素在 <get-software-information> Junos XML API 操作开发人员参考 中记录。)

客户端应用程序可以使用该模式验证设备上配置,或者仅了解设备上运行的系统版本Junos OS哪些配置语句。该模式不会指示实际配置了哪些元素,甚至指明可在该类型设备上配置某个元素(某些配置语句仅在某些设备类型上可用)。要请求当前配置的一组元素及其设置,请发出标记元素,如"使用 <get-config> NETCONF的请求配置数据"中所述。

本文档没有介绍 XML 模式语言的结构和表示约定。有关信息,请参阅 XML Schema 第 0 部分:Primer,可从全球 Web 联盟 (W3C) http://www.w3.org/TR/xmlschema-0/ 。引言提供基本介绍并列出可查找详细信息的正式规格。

有关详细信息,请参阅以下各节:

请求配置层次结构的 XML 方案

在运行 Junos OS 设备的 NETCONF 会话中,要请求整个配置层次结构的 XML 模式语言表示,客户端应用程序会发出 Junos XML 标记元素及其子标记元素,其中标记元素中标有 <get-xnm-information> <type> <namespace> <rpc> 值:

NETCONF 服务器将 XML 方案包含在 <rpc-reply><xsd:schema> 标记元素中:

创建 junos.xsd 文件

在标记中返回的架构中定义的大多数标记元素都属于默认 <xsd:schema> 配置Junos OS命名空间。但是,至少一个标记 <junos:comment> 属于不同的命名空间: http://xml.juniper.net/junos/Junos-version/junos 。根据 XML 约定,方案仅描述一个命名空间,因此方案验证程序需要导入有关任何其他命名空间的信息,然后才能处理此模式。

从Junos OS 6.4 版开始,标记元素将包含在标记元素中,并引用文件 <xsd:import> <xsd:schema> junos.xsd,其中包含有关命名空间的所需 junos 信息。例如,以下标记元素指定了用于版本Junos OS的文件20.4R1(仅在两行上 <xsd:import> 显示,才具有易读性):

要启用模式验证器来解释标记元素,您必须在目录中手动创建一个称为 <xsd:import> junos.xsd 的文件,您可以在其中放置包含完整 Junos OS 配置模式的 .xsd 文件。在文件中包括以下文本。请勿在开放标记的属性列表中使用换行 <xsd:schema> 符。下例中会显示换行符,但仅表示易读性。对于变量,请替代设备上Junos OS的发行号(例如,20.4R1 Junos-version 20.4 的第一Junos OS版本)。

注意:

如果方案验证程序无法找到或打开 junos.xsd 文件,则它们可能无法处理此方案。

只要更改设备上Junos OS版本,都记得更新 Junos-version junos.xsd 文件中要匹配的变量。

示例:请求 XML 模式

以下示例显示如何请求Junos OS方案。在 NETCONF 服务器的响应中,第一个语句定义了 Junos XML 标记元素,可包含在方案定义的大多数其他容器标记元素中(容器标记元素定义为 <xsd:element> <undocumented> <xsd:complexType> )。

NETCONF 服务器响应的开始标记中的属性显示在多行上,但仅表示易读性。NETCONF 服务器不会在标记或标记元素中插入新行字符。此外,在实际输出中,该变量 JUNOS-version 被 20.4 20.4R1版本的初始版本Junos OS的值取代。

位于 <xsd:element> 模式开始位置的另一个语句用于定义Junos XML <configuration> 标记元素。其中包含 <xsd:element> 用于定义标记元素的语句 <system> ,该元素与 [edit system] 层次结构级别对应。为简洁起见,省略了与其他层次结构级别对应的语句。