Solicitar un esquema XML para la jerarquía de configuración mediante NETCONF
El esquema representa todos los elementos de configuración disponibles en la versión de Junos OS que se ejecuta en un dispositivo. (Para determinar la versión de Junos OS, emita el <get-software-information>
elemento de etiqueta de solicitud operativa, que se documenta en la Referencia para desarrolladores operativos de la API XML de Junos.)
Las aplicaciones cliente pueden usar el esquema para validar la configuración en un dispositivo o simplemente para aprender qué instrucciones de configuración están disponibles en la versión de Junos OS que se ejecuta en el dispositivo. El esquema no indica qué elementos están realmente configurados o incluso que un elemento se puede configurar en ese tipo de dispositivo (algunas instrucciones de configuración solo están disponibles en ciertos tipos de dispositivos). Para solicitar el conjunto de elementos configurados actualmente y su configuración, emita el <get-config>
elemento tag en su lugar, como se describe en Solicitar datos de configuración mediante NETCONF.
Explicar la estructura y las convenciones de notación del lenguaje de esquema XML está fuera del alcance de este documento. Para obtener más información, consulte El esquema XML parte 0: primer, disponible en el World Wide Web Consortium (W3C) en http://www.w3.org/TR/xmlschema-0/ . El primer proporciona una introducción básica y enumera las especificaciones formales en las que puede encontrar información detallada.
Para obtener más información, consulte las siguientes secciones:
Solicitud de un esquema XML para la jerarquía de configuración
En una sesión NETCONF con un dispositivo que ejecuta Junos OS, para solicitar una representación en lenguaje de esquema XML de toda la jerarquía de configuración, una aplicación cliente emite el elemento de etiqueta XML <get-xnm-information>
junos y sus <type>
elementos de etiqueta y <namespace>
secundarios con los valores indicados en un <rpc>
elemento de etiqueta:
<rpc> <get-xnm-information> <type>xml-schema</type> <namespace>junos-configuration</namespace> </get-xnm-information> </rpc> ]]>]]>
El servidor NETCONF encierra el esquema XML y <rpc-reply>
<xsd:schema>
los elementos de etiqueta:
<rpc-reply xmlns="URN" xmlns:junos="URL"> <xsd:schema> <!-- tag elements for the Junos XML schema --> </xsd:schema> </rpc-reply> ]]>]]>
Creación del archivo junos.xsd
La mayoría de los elementos de etiqueta definidos en el esquema devuelto en la <xsd:schema>
etiqueta pertenecen al espacio de nombres predeterminado para los elementos de configuración de Junos OS. Sin embargo, al menos una etiqueta, <junos:comment>
, pertenece a un espacio de nombres diferente: http://xml.juniper.net/junos/Junos-version/junos
. Por convención XML, un esquema describe solo un espacio de nombres, por lo que los validadores de esquema deben importar información sobre cualquier espacio de nombres adicional antes de que puedan procesar el esquema.
A partir de Junos OS versión 6.4, el <xsd:import>
elemento tag se encierra en el <xsd:schema>
elemento tag y hace referencia al archivo junos.xsd, que contiene la información necesaria sobre el espacio de junos
nombres. Por ejemplo, el siguiente <xsd:import>
elemento de etiqueta especifica el archivo para Junos OS versión 20.4R1 (y aparece en dos líneas solo para la legibilidad):
<xsd:import schemaLocation="junos.xsd" \ namespace="http://xml.juniper.net/junos/20.4R1/junos"/>
Para habilitar el validador de esquema para interpretar el <xsd:import>
elemento de etiqueta, debe crear manualmente un archivo llamado junos.xsd en el directorio en el que coloque el archivo .xsd que contiene el esquema de configuración completo de Junos OS. Incluya el siguiente texto en el archivo. No use saltos de línea en la lista de atributos de la etiqueta de apertura <xsd:schema>
. Los saltos de línea aparecen en el ejemplo siguiente solo para la legibilidad. Para la Junos-version variable, sustituya el número de versión de Junos OS que se ejecuta en el dispositivo (por ejemplo, 20.4R1 para la primera versión de Junos OS 20.4).
<?xml version="1.0" encoding="us-ascii"?> <xsd:schema elementFormDefault="qualified" \ attributeFormDefault="unqualified" \ xmlns:xsd="http://www.w3.org/2001/XMLSchema" \ targetNamespace="http://xml.juniper.net/junos/Junos-version/junos"> <xsd:element name="comment" type="xsd:string"/> </xsd:schema>
Es posible que los validadores de esquema no puedan procesar el esquema si no pueden localizar o abrir el archivo junos.xsd .
Siempre que cambie la versión de Junos OS que se ejecuta en el dispositivo, recuerde actualizar la Junos-version variable en el archivo junos.xsd para que coincida.
Ejemplo: Solicitar un esquema XML
En los ejemplos siguientes se muestra cómo solicitar el esquema de configuración de Junos OS. En la respuesta del servidor NETCONF, la primera <xsd:element>
instrucción define el <undocumented>
elemento de etiqueta XML junos, que se puede incluir en la mayoría de los demás elementos de etiqueta de contenedor definidos en el esquema (los elementos de etiqueta de contenedor se definen como <xsd:complexType>
).
Los atributos de las etiquetas de apertura de la respuesta del servidor NETCONF aparecen en varias líneas solo para la legibilidad. El servidor NETCONF no inserta caracteres de línea nueva dentro de etiquetas o elementos de etiqueta. Además, en la salida real, la JUNOS-version variable se sustituye por un valor como 20.4R1 para la versión inicial de Junos OS versión 20.4.
Otra <xsd:element>
instrucción cerca del principio del esquema define el elemento de etiqueta XML <configuration>
junos. Encierra la <xsd:element>
instrucción que define el <system>
elemento tag, que corresponde al [edit system]
nivel de jerarquía. Las instrucciones correspondientes a otros niveles jerárquicos se omiten por brevedad.