Depurador XPath
El Depurador permite depurar expresiones XPath en el contexto de los archivos que haya cargado. Puede abrir la ventana XPath/XQuery desde los siguientes puntos de entrada:
•en el diseño, el Depurador se abre siempre que se introduzca o se edite una expresión XPath: por ejemplo, al introducir expresiones para indicar los valores en el panel Estilos y propiedades.
•desde el simulador se abre haciendo clic en el botón Evaluar XPath del panel Fuentes de página.
•cuando el simulador se detiene en una acción, puede iniciar el Depurador XPath haciendo clic en el botón XPath paso a paso del Depurador de acciones.
Nota: | en el primero de los dos contextos que mencionamos más arriba puede introducir cualquier XPath que quiera y depurarla con cualquier archivo XML, que debe cargar en el Depurador. En el tercer contexto, sin embargo, depura una expresión que es específica para la acción actual y para ello usa las fuentes de página de la acción actual; en consecuencia, la opción de cargar un archivo XML en este caso está deshabilitada. |
Las descripciones e imágenes de esta sección hacen referencia al Depurador XPath cuando se accede a este mediante el panel Fuentes de página del simulador. El Depurador se comporta de la misma manera independientemente del contexto desde el que se abre. Sin embargo, tenga en cuenta que la opción de cargar un archivo XML se deshabilita si inicia el Depurador desde el tercer contexto.
Iniciar el depurador XPath
Para acceder al Depurador seleccione Iniciar la depuración en el menú desplegable Iniciar la evaluación/depuración (imagen siguiente). Puede alternar entre el modo Generador (como ayuda para construir la expresión) y el Evaluador (para depurar la expresión).
Seleccione, antes o después de introducir una expresión XPath/XQuery, un archivo XML en el que ejecutar esa expresión (consulte más abajo Ejecutar el Depurador). Para iniciar la depuración haga clic en Iniciar la evaluación/depuración (F5). El Depurador ejecuta la expresión en el archivo XML cargado y muestra los resultados en los paneles de la parte inferior de la ventana.
|
Diseño del modo Depurador XPath
En el modo Depurador XPath se añaden otros dos paneles al panel Resultados (imagen siguiente).
•el panel Pila de llamadas y puntos de depuración, que se divide en dos pestañas.
•el panel Variables y expresiones de inspección; tanto las expresiones de inspección como las variables se muestran en el mismo panel.
Con el modo Depurador XPath puede:
•acceder al proceso de evaluación XPath paso por paso para ver cómo se va evaluando la expresión XPath. Puede usar el botón Paso a paso por instrucciones (F11) para ello. En cada paso de la evaluación se resalta en amarillo la parte de la expresión que se está evaluando (imagen anterior) y el resultado de la evaluación de ese paso aparece en el panel Resultados. Por ejemplo, en la imagen anterior se han seleccionado todos los elementos Order que tienen un elemento secundario llamado CustomerCode que contenga el valor '456'.
•definir puntos de interrupción donde quiera que se detenga la evaluación para poder comprobar los resultados en esos puntos. Use el botón de la barra de herramientas Iniciar la depuración (F5) para avanzar por la evaluación y detenerse solamente en los puntos de interrupción. Es más rápido usar puntos de interrupción que detenerse en cada uno de los pasos de procesamiento con el comando Paso a paso por instrucciones (F11).
•definir puntos de seguimiento que puede consultar después en un informe de los resultados de los pasos marcados como puntos de seguimiento. Con esta opción la evaluación no se detiene (excepto en los puntos de seguimiento) pero los resultados de los puntos de seguimiento aparecen en una lista en el panel Resultados.
•usar las expresiones de inspección para comprobar información (como datos de documentos o aspectos de la evaluación), lo cual resulta especialmente útil en los puntos de interrupción.
•mostrar las variables del alcance de la evaluación, incluyendo sus valores, en el panel Variables y expresiones de inspección.
•mostrar las llamadas realizadas por el procesador a un paso de la evaluación en la pestaña Pila de llamadas del panel Pila de llamadas y puntos de depuración.
•si ha definido puntos de interrupción y de seguimiento, entonces estos aparecen en la pestaña Puntos de depuración del panel Pila de llamadas y puntos de depuración.
Para más información sobre estas características consulte sus descripciones más abajo.
Ejecutar el Depurador
A grandes rasgos, estos suelen ser los pasos que se siguen para depurar una expresión XPath:
1.Introducir la expresión XPath/XQuery en el panel Expresión.
2.Asegúrese de que el archivo XML al que quiere aplicar la expresión XPath está cargado. Si no lo está, use el botón Cargar (bajo el panel Árbol de esquema; imagen anterior), navegue hasta el archivo y cárguelo.
3.Si hace clic en Iniciar la depuración, la evaluación se ejecutará en un solo paso hasta el final, a no ser que haya marcado algún punto de interrupción en la expresión. Haga clic varias veces en Iniciar la depuración para avanzar entre los puntos de interrupción hasta el final de la evaluación.
4.Si hace clic en Iniciar la depuración, la evaluación se detiene en el primer punto de interrupción. Haga clic varias veces en Iniciar la depuración para ir avanzando por los puntos de interrupción hasta el final de la evaluación.
5.Use la función Paso a paso por instrucciones/Paso a paso para salir/Paso a paso por procedimientos (en vez de ir de punto de interrupción en punto de interrupción) para avanzar por la evaluación paso a paso.
6.También puede ejecutar el depurador hasta un punto concreto de la expresión XPath; para ello (i) coloque el cursor del ratón en la ubicación deseada y (ii) haga clic en el icono de la barra de herramientas Ejecutar hasta el cursor.
|
Paso a paso por instrucciones, para salir y por procedimientos
Con Paso a paso por instrucciones puede avanzar paso a paso por la evaluación. Cada vez que hace clic en este comando pasa al siguiente paso de la evaluación; el paso actual aparece resaltado en la expresión (imagen siguiente). El comando Paso a paso para salir va al paso de un nivel superior al del paso actual, mientras que el comando Paso a paso por procedimientos se salta los pasos de niveles inferiores y va directamente al siguiente paso del mismo nivel que el actual. Para probar estos comandos puede copiar la expresión XQuery 3.1 de más abajo en el panel Expresión y hacer clic en los tres botones de este comando para ver cómo funcionan.
La imagen siguiente muestra la evaluación cuando se detiene el procesamiento al alcanzar el paso de la búsqueda Order[CustomerCode='456']. En este paso, el resultado muestra los dos elementos de nodo Order; cada uno de ellos tiene un elemento secundario CustomerCode que contiene el valor '456'. Los elementos se muestran con sus atributos.
Puntos de interrupción
Los puntos de interrupción son puntos en los que quiere que el Depurador se detenga después de haberlo iniciado con el comando Iniciar la depuración. Son útiles si tiene que analizar una parte concreta de la expresión. Cuando el depurador se detiene en el punto de interrupción, puede comprobar el resultado y podría usar la función Paso a paso por instrucciones para mostrar los resultados de los pasos siguientes de la evaluación. Para definir un punto de interrupción coloque el cursor en la expresión, en el punto en el que quiere introducir el punto de interrupción, y haga clic en el botón de la barra de herramientas Insertar o quitar punto de interrupción (F9). El punto de interrupción se marcará con una línea roja discontinua. Para eliminar el punto de interrupción basta con seleccionarlo y volver a hacer clic en el comando Insertar o quitar punto de interrupción (F9).
Véase también Puntos de depuración, más abajo.
Puntos de seguimiento
Los puntos de seguimiento son puntos en los que se graban los resultados. Estos resultados aparecen en la estructura Seguimientos de la pestaña Resultados (imagen siguiente). Esto permite ver todos los resultados de la evaluación en partes concretas de la expresión. Por ejemplo, en la imagen siguiente los puntos de seguimiento se pusieron en los nodos team y member; los resultados que corresponden a estos puntos de seguimiento aparecen en la estructura Seguimientos.
Para definir un punto de seguimiento coloque el cursor en el punto que quiera y haga clic en el botón de la barra de herramientas Insertar o quitar punto de seguimiento (Mayús+F9). Para marcar el punto de seguimiento aparece una línea discontinua azul sobre esa parte de la expresión (imagen siguiente). Para quitar un punto de seguimiento basta con seleccionarlo y volver a hacer clic en Insertar o quitar punto de seguimiento (F9).
Nota: | si en algún punto de la expresión hay un punto de interrupción y un punto se seguimiento, entonces la línea discontinua alterna los colores rojo y azul. |
Véase también Puntos de depuración , más abajo.
Variables, expresiones de inspección y pila de llamadas
Las variables y las expresiones de inspección se muestran en el panel Variables y expresiones de inspección (panel inferior en el centro en la imagen siguiente).
Variables
Las variables que se han declarado en la expresión y que están dentro del alcance del paso actual de la evaluación aparecen con sus valores actuales correspondientes. Por ejemplo, en la imagen anterior el procesamiento se ha pausado en el punto de interrupción que hay en la variable $i. La variable $i está dentro del alcance en este paso de la evaluación, por lo que $i se muestra con su valor actual, que en la imagen anterior es el primer elemento Order. Como el nodo raíz del documento, $ORDERS, también es una variable, también se muestra con su contenido, que es la raíz del documento.
Expresiones de inspección
Las expresiones de inspección son expresiones que puede introducir antes de que comience la evaluación o en un momento en que esta se detenga. Este tipo de expresiones se pueden usar para:
•probar ciertas condiciones. Por ejemplo, en la imagen anterior la expresión de inspección $i/CustomerCode="789" se usa para comprobar si el elemento Order actual tiene un CustomerCode con un valor "789".
•encontrar datos dentro de un contexto concreto. Por ejemplo, en la imagen anterior hemos introducido la expresión de inspección $i/CustomerCode, $i/OrderDate para buscar esos detalles en el pedido actual.
•generar datos adicionales. Por ejemplo, en la imagen anterior hemos introducido la expresión de inspección count(//Order) para contar todos los elementos Order.
Para introducir una expresión de inspección haga clic en Agregar entrada de inspección en la barra de herramientas del panel (dentro del círculo rojo en la imagen anterior), después haga doble clic en la entrada de inspección nueva para introducir la expresión y haga clic en Entrar cuando haya terminado. Para quitar una expresión de inspección, selecciónela y haga clic en Quitar la entrada de inspección seleccionada en la barra de herramientas. Si durante la depuración la expresión no se puede evaluar correctamente por alguna razón (por ejemplo, si una de sus variables no entra dentro del alcance), entonces la expresión de inspección aparece en rojo.
Pila de llamadas
La pestaña Pila de llamadas del panel Pila de llamadas y puntos de depuración (panel inferior derecho en la imagen anterior) muestra las llamadas del procesador hasta ese punto de la depuración. La llamada actual del procesador está resaltada en amarillo. Tenga en cuenta que solo se muestran las llamadas que han llevado directamente al paso de evaluación actual.
Puntos de depuración
La pestaña Puntos de depuración del panel Pila de llamadas y puntos de depuración (panel inferior derecho en la imagen anterior muestra los puntos de interrupción (círculos rojos) y los puntos de seguimiento (puntos azules) que haya colocado en la expresión. Cada punto de depuración aparece en la lista con su número de línea y de carácter. Por ejemplo, AxisStep@2:12 significa que hay un punto de depuración en la línea 2, carácter 12.
Algunas de las funciones que ofrece este modo son:
•Puede definir los puntos de interrupción para que dependan de algún factor introduciendo una condición de interrupción. Vaya al panel Puntos de depuración, (i) haga doble clic en el punto de interrupción Insertar condición de interrupción, (ii) introduzca la expresión para la condición y (iii) pulse la tecla Entrar. Ese punto de interrupción se habilita solamente si la condición evalúa en true. Por ejemplo, en la imagen anterior la condición de interrupción $i/CustomerCode="456" habilita el punto de interrupción en $i (es decir, el elemento Order actual) cuando el elemento secundario CustomerCode del elemento Order tiene el valor "456". Así, el procesamiento pausa en cada pedido del cliente que tenga el código de cliente 456. La imagen muestra la evaluación detenida en el sexto pedido, que se corresponde con el criterio que acabamos de explicar. El punto de interrupción no se activa con clientes que tengan otros códigos.
•Puede activar o desactivar todos los puntos de depuración haciendo clic en los botones correspondientes de la barra de herramientas: Habilitar todos los puntos de depuración y Deshabilitar todos los puntos de depuración (dentro de los círculos verdes en la imagen anterior). Cuando se deshabilita un punto de depuración, este se desactiva para todas las evaluaciones hasta que se vuelva a habilitar.
•Puede habilitar/deshabilitar puntos de interrupción individuales en sus correspondientes menús contextuales.
•Los puntos de seguimiento aparecen enumerados y con sus detalles. Se pueden habilitar/deshabilitar.
•Si hace clic en Eliminar todos los puntos de depuración, se eliminan todos los puntos de depuración y de seguimiento del diseño.
•Si ocurre un error para el que no se ha definido ningún curso de acción, puede activar el comando de la barra de herramientas Detener al encontrar un error no controlado para que el depurador se detenga en estos casos.
Comandos de la barra de herramientas en los paneles
Los paneles del cuadro de diálogo "Editar expresión XPath" del modo Depurador (imagen anterior) contiene botones para las funciones de navegación, búsqueda y copia. Estos iconos se describen en la siguiente tabla, empezando por el icono de la izquierda del todo. Los comandos correspondientes también están disponibles en el menú contextual de los elementos de la lista de resultados.
Icono | Acción |
Siguiente, Anterior | Selecciona el elemento siguiente o anterior respectivamente de la lista de resultados. |
Copiar la línea de texto seleccionada en el portapapeles | Copia la columna de valores del resultado seleccionado en el portapapeles. Para copiar todas las columnas debe activar el comando La copia incluye todas las columnas (ver más abajo). |
Copiar todos los mensajes en el portapapeles | Copia la columna de valores de todos los resultados en el portapapeles, incluidos los valores que estén vacíos. Cada elemento se copia en una línea distinta. |
La copia incluye todas las columnas | Alterna entre copiar todas las columnas y solamente la columna de valores. El separador de las columnas es un espacio. |
Buscar | Abre el cuadro de diálogo "Buscar" para poder buscar cadenas, incluso caracteres especiales, en la lista de resultados. |
Buscar anterior | Busca la instancia anterior del término de búsqueda introducido en el cuadro de diálogo "Buscar". |
Buscar siguiente | Busca la instancia siguiente del término de búsqueda introducido en el cuadro de diálogo "Buscar". |
Borrar | Borra la lista de resultados. |
Cerrar el depurador XPath
Para cerrar el depurador XPath haga clic en Detener evaluación/depuración.