Generador de expresiones
El Generador de expresiones permite generar expresiones correctas con respecto al nodo de contexto actual. Con él puede introducir las rutas de localización de nodo correctas, seleccionar nodos en el árbol de esquema e introducir operadores y funciones sintácticamente correctos. Para cambiar al Generador de expresiones haga clic en el botón Generador (imagen siguiente). Al hacer clic en el botón Generador se habilitan los paneles de los ayudantes de entrada con los que podrá generar expresiones XPath. Haga doble clic en una entrada de los ayudantes de entrada para introducirla en el punto en que se encuentre el cursor en el panel Expresión. Al hacer clic en Aceptar la expresión se inserta en el punto actual del diseño.
Existen tres paneles de ayudantes de entrada:
•un árbol de esquema en el que seleccionar e introducir nodos de elementos y atributos. Si se marca la casilla XPath relativa (como en la imagen anterior), entonces la ruta de acceso al nodo seleccionado es relativa al nodo de contexto, que es el nodo del diseño en el que se genera la expresión XPath. El nodo de contexto aparece debajo del panel del árbol de esquema. En la imagen anterior puede ver que el nodo de contexto es el elemento Customer. También puede ver, en la barra del título de la ventana, que esta expresión XPath se está generando para la propiedad Text del control Label13. Si no marca la casilla XPath relativa, entonces se introduce una expresión XPath absoluta para localizar el nodo seleccionado; esta expresión empezaría en la raíz del documento, por ejemplo: $CUSTOMERS/Customers/Customer/Name.
•un panel de ayudante de entrada para operadores y expresiones, que incluyen: (i), ejes (ancestor::, parent::, etc), (ii) operadores (por ejemplo eq y div) y (iii) expresiones (for # in # return #, etc.). Los elementos del panel pueden aparecer en una lista ordenada alfabéticamente o agrupados por categoría funcional. Seleccione Jerárquica (para verlos agrupados) o Nivelada (para ver la lista en orden alfabético) en el menú desplegable de la barra del título del panel.
•un ayudante de entrada con funciones XPath en una lista ordenada alfabéticamente o agrupadas por categoría funcional. Seleccione Jerárquica (para verlas agrupadas) o Nivelada (para ver la lista en orden alfabético) en el menú desplegable de la barra del título del panel. La opción Nombres/Tipos permite escoger si los argumentos de la función se muestran como nombres o como tipos de datos. Tenga en cuenta que la lista de funciones disponibles incluye funciones de extensión de MobileTogether y funciones de extensión de Altova.
Características del Generador
•Para ver la descripción del texto de un elemento en cualquiera de los paneles, pase el cursor del ratón por encima del elemento.
•Cada una de las funciones aparece con su firma (es decir, con sus argumentos, los tipos de datos de los argumentos y los tipos de datos del resultado de la función).
•Las firmas de las funciones aparecen con los nombres o los tipos de datos de los argumentos y el resultado de las funciones. Seleccione Nombres o Tipos en el menú desplegable de la barra del título del panel de la opción correspondiente.
•Si hace doble clic en un elemento en cualquiera de los paneles (operador, expresión o función), entonces ese elemento se inserta donde se encuentre el cursor del ratón en la expresión. Las funciones se insertan con sus argumentos indicados por marcadores de posición (que representa el símbolo #).
•Si (i) selecciona texto en el campo de edición de la expresión XPath (por ejemplo Name en la imagen anterior), y (ii) hace doble clic en una expresión o en una función que contenga un marcador de posición para insertarla, entonces se insertará el texto seleccionado en lugar del marcador.
•Una vez haya introducido una función en la expresión, si pasa el cursor del ratón por encima del nombre de esa función podrá ver la firma correspondiente, así como un texto con la descripción de la función. Si alguna función tiene más de una firma, esto se indica con un factor de frecuencia en la parte inferior de la información emergente. (Nota: si hay varias funciones con el mismo nombre pero cada una de ellas toma un conjunto de argumentos distinto, entonces es más correcto considerar ese conjunto de funciones como una única función con varias firmas).
•En el panel Expresión, si coloca el cursor del ratón dentro de los paréntesis de una función y pulsa Ctrl+Mayús+Barra espaciadora, puede ver las distintas firmas de esa función.
Generar expresiones XPath
El cuadro de diálogo "Editar expresión XPath" cuenta con varias funciones que sirven de ayuda para generar expresiones XPath.
•Barra de título de la ventana
La barra del título de la ventana XPath/XQuery muestra información sobre el contexto (como el componente del diseño: proyecto, página, control, etc. y la propiedad) para el que se genera la expresión. Por ejemplo, en la imagen anterior la expresión se genera para la propiedad Text del control Label13 en una página llamada Customers.
•Nodo de contexto y esquema en árbol
La caja de texto Contexto que hay inmediatamente debajo del panel Árbol de esquema muestra el nodo de contexto de la expresión. En el árbol de esquema puede ver dónde está ese nodo de contexto y generar rápidamente una expresión XPath que haga referencia a ese árbol de esquema.
•Insertar un nodo del esquema en árbol
Haga doble clic en un nodo del esquema en árbol para insertarlo en la expresión XPath. Si la casilla XPath relativa está marcada, entonces el nodo se inserta con una ruta de localización relativa al nodo de contexto. Por ejemplo, en la imagen anterior el elemento Name, que es secundario del elemento Customer (el nodo de contexto), se ha insertado con una ruta relativa al elemento Customer. Si no se marca la casilla XPath relativa, entonces el nodo Name se insertaría como $CUSTOMERS/Customers/Customer/Name.
•Insertar ejes, operadores y expresiones XPath
El panel Operador/Expresión enumera los ejes XPath (ancestor::, parent::, etc.), operadores (por ejemplo, eq y div) y expresiones (for # in # return #, etc.). Puede alternar la vista entre una lista en orden alfabético y una lista jerárquica (que agrupa los elementos según su función). Para insertar un eje o un operador en la expresión XPath haga doble clic en el elemento que necesite. Al colocar el cursor del ratón sobre un eje, un operador o una expresión aparece una breve descripción de ese elemento.
•Insertar funciones XPath
En el panel Seleccionar función también puede ver las funciones XPath ordenadas alfabéticamente o agrupadas según su función (seleccione Jerárquica o Nivelada en la parte superior del panel para alternar entre las dos variantes). Cada una de las funciones aparece con su firma. Si una función tiene más de una firma aparece tantas veces como firmas tenga. Los argumentos de una firma están separados por comas y cada argumento puede tener un indicador de frecuencia. El símbolo ? indica una secuencia de cero o un elementos del tipo especificado; * indica una secuencia de cero o más elementos del tipo especificado; + indica una secuencia de uno o más elementos del tipo especificado. Los argumentos se pueden ver como nombres o como tipos de datos. Seleccione la opción apropiada (Nombres o Tipos) en la parte superior del panel para alternar entre las dos opciones de visualización. Cada función también indica el tipo de retorno de esa función. Por ejemplo: => date ? indica que el tipo de datos de retorno especificado es una secuencia de cero o un elementos date. Al colocar el cursor del ratón sobre una función aparece una breve descripción de la función.
Edición inteligente mientras se teclea
Si escribe la expresión directamente en la caja de texto Expresión, entonces las opciones que estén disponibles en ese momento aparecerán en un mensaje emergente (imagen siguiente).
Dichas opciones incluyen estos componente:
•elementos (como presswatch en la imagen anterior)
•nodos descendientes (presswatch/selection en la imagen anterior) y nodo primario del nodo de contexto
•funciones XPath (fn:upper-case en la imagen anterior) y ejes XPath (ancestor-or-self en la imagen anterior)
•una lista de las variables globales definidas para el proyecto (aparece si se introduce un elemento $ en la expresión)
•una lista de las cadenas personalizadas definidas en el cuadro de diálogo "Localización" (aparece cuando se introduce la función mt-load-string en la expresión; consulte la descripción de mt-load-string)
Para navegar por la lista de opciones puede usar las teclas Arriba y Abajo y pulsar la tecla Entrar si quiere seleccionar una opción para introducirla en la expresión.