EN ESTA PÁGINA
position()
Sintaxis
number position()
Descripción
Devuelva la posición actual del contexto entre la lista de nodos que se están evaluando actualmente. La posición de contexto es el índice del nodo dentro del conjunto de nodos que está siendo evaluado por un predicado, o si position()
se utiliza fuera de un predicado, entonces es el índice del nodo actual dentro de la lista de nodos actuales. La posición inicial es 1 y la posición final es igual al tamaño del contexto, que se puede recuperar mediante la función last().
Ejemplos de uso
La siguiente secuencia de comandos op muestra el efecto de usar la position()
función tanto en predicados de ruta de ubicación como dentro de cada bucle.
version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; match / { var $host-name-set := { <host-name> "PE1"; <host-name> "P1"; <host-name> "P2"; <host-name> "PE2"; } var $first-host-name = $host-name-set/host-name[ position() == 1 ]; expr jcs:output( "First host-name: ", $first-host-name ); var $first-p-host-name = $host-name-set/host-name[not(starts-with(.,"PE"))][position() == 1]; expr jcs:output( "First P host-name: ", $first-p-host-name ); expr jcs:output( "All host-names:" ); for-each( $host-name-set/host-name ) { expr jcs:output( position(), ": ", . ); } expr jcs:output( "P host-names only:" ); for-each( $host-name-set/host-name[ not(starts-with( ., "PE" ))] ) { expr jcs:output( position(), ": ", . ); } }
user@host> op position First host-name: PE1 First P host-name: P1 All host-names: 1: PE1 2: P1 3: P2 4: PE2 P host-names only: 1: P1 2: P2