Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Visão geral do XPath

O XSLT usa o padrão XML Path Language (XPath) para especificar e localizar elementos na hierarquia XML do documento de entrada. A poderosa sintaxe de expressão do XPath permite que você defina critérios complexos para selecionar partes do documento de entrada XML.

Nós e eixos

O XPath exibe cada parte da hierarquia do documento como um . Para scripts de confirmação, scripts operacionais, scripts de eventos e scripts SNMP, os tipos importantes de nós são nós de elemento, nós de texto e nós de atributo. Considere as seguintes marcas XML:

Esses elementos de marca XML mostram exemplos dos seguintes tipos de nós XPath:

  • <host-name>my-router</host-name>— Nó do elemento

  • my-router—Nó de texto

  • inactive="inactive"— Nó de atributo

O XPath exibe os nós como sendo organizados em determinados eixos. A lista a seguir inclui alguns eixos comuns. No entanto, o XPath possui vários outros eixos que não estão listados aqui.

  • ancestor— Aponta de um nó até sua série de nós pai

  • child— Aponta através da lista de nós filhos diretos de um nó de elemento

  • attribute— Aponta através da lista do conjunto de atributos de um nó de elemento

  • following-sibling— Aponta através dos nós que seguem um nó, mas estão sob o mesmo pai

  • descendente — contém todos os descendentes de um nó

O XSLT avalia cada expressão XPath de um nó específico, que é chamado de nó de contexto (ou simplesmente contexto). O nó de contexto é o nó no qual o processador XSLT está procurando no momento. O XSLT altera o contexto à medida que atravessa a hierarquia do documento. Ele avalia expressões XPath desse nó de contexto específico.

Nota:

Nos scripts de confirmação do Junos OS, o conceito de nó de contexto corresponde aos níveis de hierarquia do Junos OS. Por exemplo, a /configuration/system/domain-name expressão XPath define o nó de contexto para o [edit system domain-name] nível de hierarquia.

Recomendamos incluir o <xsl:template match="configuration"> modelo em todos os scripts de confirmação. Esse elemento permite que você exclua o /configuration/ elemento raiz de todas as expressões XPath em instruções de programação (como <xsl:for-each> ou <xsl:if>) no script. Assim, as expressões XPath podem começar em um nível de hierarquia do Junos (por exemplo, system/domain-name). Para obter mais informações, consulte Boilerplate necessário para scripts de confirmação.

Sintaxe de caminho e predicado

Uma expressão XPath contém dois tipos de sintaxe: uma sintaxe de caminho e uma sintaxe de predicado. A sintaxe do caminho especifica quais nós inspecionar em termos de seus locais de caminho em um dos eixos na hierarquia do documento a partir do nó de contexto atual. Vários exemplos de sintaxe de caminho a seguir:

  • accounting-options— Seleciona um nó de elemento chamado accounting-options que é filho do contexto atual.

  • server/name— Seleciona um nó de elemento chamado name que é filho de um elemento chamado server filho do contexto atual.

  • /configuration/system/domain-name— Seleciona um nó de elemento chamado domain-name que é filho de um elemento chamado system filho do elemento raiz do documento (configuration).

  • parent::system/host-name— Seleciona um nó de elemento chamado host-name que é filho de um elemento chamado system que é o pai do nó de contexto atual. Você pode abreviar o parent:: eixo como dois pontos (..).

A sintaxe de predicado permite que você execute testes em cada nó selecionado pela sintaxe de caminho. O conjunto de resultados inclui apenas os nós que passam no teste. Um predicado aparece entre colchetes ([ ]) após um nó de caminho. A seguir estão vários exemplos de sintaxe de predicado:

  • server[name = '10.1.1.1']— Seleciona um elemento chamado server que é filho do contexto atual e tem um elemento filho chamado name cujo valor é 10.1.1.1.

  • *[@inactive]— Seleciona qualquer nó (* corresponde a qualquer nó) que seja filho do contexto atual e que tenha um atributo (@ seleciona nós do attribute eixo) chamado inactive.

  • route[starts-with(next-hop, '10.10.')]— Seleciona um elemento chamado route que é filho do contexto atual e que tem um elemento filho chamado next-hop cujo valor começa com a string 10.10..

    A starts-with função é uma das muitas funções incorporadas ao XPath. O XPath também oferece suporte a testes relacionais, testes de igualdade e muitos outros recursos não listados aqui.

Operadores XPath

O XPath oferece suporte a muitos operadores, por exemplo:

  • Operadores lógicos, como AND e | (ou)

  • Operadores de comparação, como =, !=, <e >

  • Operadores numéricos, como +, -e *

Os scripts XSLT são documentos XML. No XSLT, você deve representar os sinais de menor que da mesma forma que faz no XML. Assim, você deve representar o operador menor que (<) como &lt; e o operador menor que ou igual a (<=) como &lt;=.

Para obter mais informações sobre as funções e operadores do XPath, consulte um guia de referência abrangente do XPath. XPath é totalmente descrito na especificação W3C em http://w3c.org/TR/xpath.