EN ESTA PÁGINA
Descripción general de XSLT
Las secuencias de comandos de confirmación, las secuencias de comandos de operación, las secuencias de comandos de eventos y las secuencias SNMP se pueden escribir en transformaciones de lenguaje de hoja de estilo extensible (XSLT), que es un estándar para procesar datos de lenguaje de marcado extensible (XML). XSLT es desarrollado por el World Wide Web Consortium (W3C) y es accesible en http://www.w3c.org/TR/xslt.
Ventajas de XSLT
XSLT es una coincidencia natural para Junos OS, con sus capacidades XML nativas. XSLT realiza transformaciones de XML a XML, convirtiendo una jerarquía XML en otra. Ofrece un gran grado de libertad y poder en la forma en que transforma el XML de entrada, lo que permite desde hacer cambios menores a la jerarquía existente (como adiciones o eliminaciones) hasta construir una jerarquía de documentos completamente nueva.
Dado que el XSLT se creó para permitir transformaciones genéricas de XML a XML, es una opción natural tanto para inspeccionar la sintaxis de configuración (que Junos OS puede expresar fácilmente en XML) como para generar errores y advertencias (que Junos OS se comunica internamente como XML). LA XSLT incluye potentes mecanismos para encontrar instrucciones de configuración que coincidan con criterios específicos. A continuación, XSLT puede generar el árbol de resultados XML adecuado a partir de estas instrucciones de configuración para indicar a los componentes de interfaz de usuario (IU) de Junos OS que realicen el comportamiento deseado.
Aunque el XSLT ofrece una potente capacidad de scripting, su enfoque es específico y limitado. No hace que Junos OS sea vulnerable a programadores arbitrarios o maliciosos. EL XSLT impide que los programadores realicen operaciones desordenadas, como abrir puertos aleatorios de protocolo de control de transmisión (TCP), bloquear numerosos procesos o enviar correo electrónico. La única acción disponible en XSLT es generar XML y la interfaz de usuario interpreta el XML según la semántica fija. Una secuencia de comandos XSLT solo puede generar datos XML, que se procesan directamente en la infraestructura de la interfaz de usuario para permitir solo las capacidades específicas enumeradas anteriormente: generar mensajes de error, advertencia y registro del sistema, y cambios de configuración persistentes y transitorios. Esto significa que el impacto de las secuencias de comandos de confirmación, los scripts operativos, los scripts de eventos y los scripts SNMP en el dispositivo está bien definido y se puede ver dentro de la interfaz de línea de comandos (CLI), mediante comandos agregados para ese propósito.
Motor XSLT
XSLT es un lenguaje para transformar un documento XML en otro documento XML. El modelo básico es que un motor (o procesador) XSLT lee una secuencia de comandos (o hoja de estilo) y un documento XML. El motor XSLT utiliza las instrucciones de la secuencia de comandos para procesar el documento XML atravesando la jerarquía del documento. La secuencia de comandos indica qué parte del árbol se debe atravesar, cómo se debe inspeccionar y qué XML se debe generar en cada punto. Para scripts de confirmación, scripts operativos, secuencias de comandos de eventos y scripts SNMP, el motor XSLT es una función del proceso de administración de Junos OS (mgd).
La figura 1 muestra la relación entre una secuencia de comandos de confirmación XSLT y el motor XSLT.

Conceptos de XSLT
XSLT tiene siete conceptos básicos. Estas se resumen en la Tabla 1.
Conceptos de XSLT |
Descripción |
---|---|
Xpath |
Sintaxis de expresión para especificar un nodo en el documento de entrada |
Plantillas |
Mecanismo para asignar jerarquías de entrada a instrucciones que las manejan |
Parámetros |
Mecanismo para pasar argumentos a las plantillas |
Variables |
Mecanismo para definir referencias de solo lectura a nodos |
Instrucciones de programación |
Mecanismo para definir la lógica en XSLT |
Recursividad |
Mecanismo mediante el cual las plantillas se llaman para facilitar el bucle |
Contexto (punto) |
Nodo que se está inspeccionando en el documento de entrada |