Compartir a través de


Contexto para las expresiones de XPath

La evaluación de una expresión de XPath depende del contexto en relación al cual funciona la expresión.El contexto se compone del nodo con respecto al cual se evalúa la expresión y su entorno asociado, que incluye lo siguiente:

  • La posición del nodo de contexto en el orden de documento, con respecto a sus relacionados.

  • El tamaño del contexto, es decir, el número de relacionados del nodo de contexto más uno.

  • Enlaces variables con los que se pueden resolver las referencias a una variable.

  • Una biblioteca de funciones.

  • Las declaraciones de espacio de nombres en el ámbito de la expresión.

Para comprender mejor el concepto de contexto, piense en un árbol que contiene nodos.Al solicitar todos los nodos con el nombre X de la raíz del árbol se obtiene un conjunto de resultados, mientras que si solicitamos los nodos de una rama del árbol, se obtiene un conjunto diferente de resultados.Por tanto, el resultado de una expresión depende del contexto en función del cual se ejecute.

Las expresiones de XPath pueden coincidir con modelos específicos en un contexto concreto, devolver los resultados y realizar operaciones adicionales relacionadas con el contexto de los nodos devueltos.Esto proporciona a las expresiones de XPath una flexibilidad extraordinaria a la hora de buscar en un árbol de documentos.

Expresiones básicas de XPath

A continuación se muestran tipos básicos de expresiones de XPath.Cada tipo se describe a continuación.

  • Contexto actual

  • Raíz de documento

  • Elemento raíz

  • Descenso recursivo

  • Elemento específico

Ejemplos

Los siguientes ejemplos muestran algunas expresiones básicas de XPath.Las expresiones más complejas se pueden formar combinando varias expresiones simples y utilizando los distintos operadores y caracteres especiales de XPath.

  • Contexto actual
    Una expresión prefijada con un punto y una barra diagonal hacia delante (./) utiliza explícitamente el contexto actual como el contexto.Por ejemplo, la siguiente expresión hace referencia a todos los elementos <author> del contexto actual:

    ./author
    

    Recuerde que es equivalente a la siguiente:

    author
    
  • Raíz de documento
    Una expresión prefijada con una barra diagonal hacia delante (/) utiliza la raíz del árbol de documentos como el contexto.Por ejemplo, la siguiente expresión hace referencia al elemento <bookstore> de la raíz de este documento:

    /bookstore
    
  • Elemento raíz
    Una expresión que utiliza una barra diagonal hacia delante seguida de un asterisco (/*) utiliza el elemento raíz como el contexto.Por ejemplo, la siguiente expresión encuentra el elemento raíz del documento:

    /*
    
  • Descenso recursivo
    Una expresión que utiliza una doble barra diagonal hacia delante (//) indica que puede incluir algún nivel de jerarquía (o ninguno).Cuando este operador aparece al comienzo del modelo, el contexto está relacionado con la raíz del documento.Por ejemplo, la siguiente expresión hace referencia a todos los elementos <author> del documento actual:

    //author
    

    El prefijo .// indica que el contexto comienza en el nivel de la jerarquía que indica el contexto actual.

  • Elementos específicos
    Una expresión que comienza con un nombre de elemento hace referencia a una consulta del elemento específico, comenzando desde el nodo de contexto actual.Por ejemplo, la siguiente expresión hace referencia al elemento <background.jpg> del elemento <images> del nodo de contexto actual:

    images/background.jpg
    

    La siguiente expresión hace referencia al grupo de elementos <book> de los elementos <bookstore> del nodo de contexto actual:

    bookstore/book
    

    La siguiente expresión hace referencia a todos los elementos <first.name> del nodo de contexto actual:

    first.name
    

    Nota

    Los nombres de elementos pueden incluir un punto (.).Estos nombres pueden utilizarse como cualquier otro nombre.

Contexto en DOM

Al utilizar expresiones de XPath con Microsoft XML DOM, el contexto es el objeto Node del que se solicita el método selectNodes o selectSingleNode.

Cuando se utiliza XPath directamente desde DOM, usted define el contexto desde un nodo concreto.

Contexto en XSLT

Cuando se utiliza XPath directamente desde XSLT, usted define el contexto desde el nodo actual.

Otros recursos

Para obtener más información, consulte XML Path Language (XPath) Version 1.0 (Recomendación del W3C del 16 de noviembre de 1999) en www.w3.org/TR/xpath.