Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

key

Sintaxe

Descrição

Defina uma chave para uso com a key() função XPath. As chaves são uma alternativa aos IDs e são usadas para indexar os nós em um documento XML. A chave deve ser definida como uma declaração de alto nível no script. Uma key definição consiste no identificador-chave, nos nós para o índice e no valor emparelhado com o nome-chave para referenciar os nós correspondentes. A key() função é então usada para localizar os nós apropriados.

A key() função funciona com o documento XML do nó atual e usa a definição especificada key para recuperar nós mencionados por um nome e valor específicos. Os argumentos de função são o nome-chave e o valor da chave desejada. O valor de devolução é um conjunto de nós que inclui todos os nós mencionados por esse nome e valor chave. Se o valor-chave desejado for fornecido como um conjunto de nós, em vez de uma corda, o conjunto de nó devolvido é uma união de todos os nós mencionados para os valores-chave expressos pelos nós dentro do conjunto de nós.

Por exemplo, se você definir a chave:

o código a seguir selecionaria <prototype> elementos que tenham um name atributo com um valor de "rastreamento", e então saída o valor do elemento <return-type>infantil:

Atributos

key name

Identificador de chave, que identifica exclusivamente a chave dentro do script e é passado como o primeiro argumento para a key() função.

match pattern

Expressão XPath que seleciona o conjunto de nós para indexar.

value expression

Expressão XPath que define o valor da chave.

Exemplo de SLAX

O script de operação a seguir cria duas key definições enext-hop, protocol que são usadas para recuperar e exibir todas as rotas estáticas e todas as rotas com um próximo salto de ge-0/0/0.0 em um dispositivo. O script invoca o comando API get-route-information Junos XML para obter as informações de rota do dispositivo. A for-each( $results ) declaração altera o nó atual para o $results documento XML. Os loops subsequentes for-each usam as chaves para recuperar todos os nós indexados de acordo com os principais nomes e valores.

A for-each( key( "protocol", "Static" ) declaração usa a protocol definição chave, que corresponde aos route-table/rt elementos, para recuperar os nós desejados. O rt-entry/protocol-name valor-chave corresponde aos <protocol-name> elementos infantis que têm o valor "estático". O bloco de código é executado usando-se <rt> como nó de contexto. Para cada partida, o script gera o valor do <rt-destination> elemento.

A for-each( key( "next-hop", "ge-0/0/0.0" ) declaração usa a definição chave "next-hop", que combina com route-table/rt elementos, para recuperar os nós desejados. O rt-entry/nh/via valor-chave corresponde aos <via> elementos infantis que têm o valor "ge-0/0/0,0". O bloco de código é executado usando-se <rt> como nó de contexto. Para cada partida, o script gera o valor do <rt-destination> elemento.

Informações de lançamento

Declaração introduzida na versão 1.1 da linguagem SLAX, que é suportada no Junos OS Release 12.2 e versões posteriores.