Recursos de Dreamweaver CS4
|
Utilización del Creador de expresiones XPath con el fin de añadir expresiones para datos XML
XPath (Lenguaje de rutas XML) es una sintaxis no XML para especificar porciones de un documento XML. Se suele utilizar sobre todo como lenguaje de consultas para datos XML, del mismo modo que el lenguaje SQL se utiliza para realizar consultas en bases de datos. Para más información sobre XPath, consulte la especificación del lenguaje XPath en el sitio Web del W3C www.w3.org/TR/xpath (en inglés).
El Creador de expresiones XPath es una función de Dreamweaver que le permite crear expresiones XPath simples para identificar nodos de datos concretos y regiones repetidas. La ventaja de este método reside en que, en vez de arrastrar los valores desde el árbol del esquema XML, puede dar formato al valor que se visualiza. El contenido actual se identifica en función de la posición del punto de inserción en el archivo XSL cuando está abierto el cuadro de diálogo Creador de expresiones XPath. El contexto actual se muestra en negrita en el árbol del esquema XML. A medida que se realizan selecciones en este cuadro de diálogo, se generan declaraciones XPath correctas relativas al contexto actual. Con esto se simplifica el proceso de creación de expresiones XPath correctas para ingenieros y usuarios avanzados.
Nota: Esta función está diseñada para ayudarle a crear expresiones XPath simples que identifiquen un nodo concreto o regiones repetidas. No da la posibilidad de editar las expresiones manualmente. Si necesita crear expresiones más complejas, utilice el cuadro de diálogo Creador de expresiones XPath para empezar y, después, personalice las expresiones en la vista Código o en el inspector de propiedades.
Creación de una expresión XPath para identificar un nodo concreto- Haga doble clic en el marcador de posición de datos XML de la página para abrir el Creador de expresiones XPath.
- En el cuadro de diálogo Creador de expresiones XPATH (Texto dinámico), seleccione cualquier nodo del árbol del esquema XML.
Se escribe la expresión XPath correcta en el cuadro Expresión para identificar al nodo.
Nota: Si selecciona un nodo distinto en el árbol del esquema XML, la expresión cambia para reflejar la selección.
En el siguiente ejemplo, se mostrará el subelemento price del nodo item:
La selección insertaría el siguiente código en la página XSLT:
<xsl:value-of select="price"/>
- (Opcional) Seleccione una opción de formato en el menú emergente Formato.
Dar formato a una selección resulta útil cuando el valor del nodo devuelve un número. Dreamweaver proporciona una lista predefinida de las funciones de formato. Si desea obtener una lista completa de las funciones y ejemplos de formato disponibles, consulte el panel Referencia.
En el siguiente ejemplo, daremos formato al subelemento price como una divisa con dos posiciones decimales:
Estas opciones insertarían el siguiente código en la página XSLT: <xsl:value-of select="format-number(provider/store/items/item/price,'$#.00')"/>
- Haga clic en Aceptar.
- Para visualizar el valor de cada nodo del archivo XML, aplique una región repetida al elemento que contiene el texto dinámico (por ejemplo, la fila de una tabla HTML o un párrafo).
Para más información y ejemplos de selección de nodos que devuelven un valor, consulte la sección <xsl:value-of/> del panel Referencia.
Selección de un nodo para repetirPuede seleccionar un nodo sobre el que repetir y, opcionalmente, para filtrar los resultados. En el cuadro de diálogo Creador de expresiones XPath, el contenido seleccionado se ajustará dentro de un bloque <xsl:for-each>. Si no ha seleccionado ningún contenido, el bloque <xsl:for-each> se introducirá en el punto de inserción del cursor.
- Haga doble clic en el marcador de posición de datos XML de la página para abrir el Creador de expresiones XPath.
- En el cuadro de diálogo Creador de expresiones XPATH (Repetir región), seleccione el elemento que desea repetir en el árbol del esquema XML.
Se escribe la expresión XPath correcta en el cuadro Expresión para identificar al nodo.
Nota: Los elementos repetidos se identifican con un símbolo de signo más (+) en el árbol del esquema XML.
En el siguiente ejemplo, repetiremos en cada nodo item dentro del archivo XML.
Al hacer clic en Aceptar, el siguiente código se inserta en la página XSLT:
<xsl:for-each select="provider/store/items/item">
Content goes here
</xsl:for-each>
En algunos casos, tal vez quiera trabajar con un subconjunto de los nodos repetidos; por ejemplo, puede que sólo le interesen los elementos que tengan atributos un valor específico. En este caso, deberá crear un filtro.
Filtro de los datos que desea repetirUtilice un filtro para identificar los nodos repetidos que tienen valores de atributo concretos.
- En el árbol del esquema XML, seleccione un nodo para repetir.
- Haga clic en el botón de expansión de creación del filtro.
- Haga clic en el botón de signo más (+) para crear un filtro vacío.
- Introduzca los criterios del filtro en los siguientes campos:
- Filtrar por
- Especifica el nodo repetido que contiene los datos con los que desea filtrar. El menú emergente proporciona una lista de nodos ascendentes relacionados con el nodo seleccionado en el árbol del esquema XML.
- Where
- Especifica el atributo o el subelemento del nodo Filtrar por que se utilizará para limitar los resultados. Puede seleccionar un atributo o un subelemento en el menú emergente, o bien introducir su propia expresión XPath en este campo para identificar los hijos que se encuentran en la estructura profunda del árbol del esquema.
- Operador
- Especifica el operador de comparación que se utiliza en la expresión del filtro.
- Valor
- Especifica el valor que se debe comprobar en el nodo Filtrar por. Introduzca el valor. Si los parámetros dinámicos están definidos en la página XSLT, puede seleccionar uno de ellos en el menú emergente.
- Si quiere especificar otro filtro, vuelva a hacer clic en el botón del signo más (+).
Al introducir valores o realizar selecciones en los menús emergentes, cambia la expresión XPath en el cuadro Expresión.
En el siguiente ejemplo, queremos restringir el conjunto de resultados a los nodos item en los que el valor del atributo @available sea true.
Al hacer clic en Aceptar, el siguiente código se inserta en la página XSLT: <xsl:for-each select="provider/store/items/item[@available = 'true']">
Content goes here
</xsl:for-each>
Nota: Debe rodear los valores de cadena como valores true entre comillas. Dreamweaver codifica las comillas por el usuario (') para que se introduzcan como XHTML válido.
Es posible crear filtros más complejos que permitan especificar nodos padre como parte de los criterios de filtro. En el siguiente ejemplo, queremos restringir el conjunto de resultados a los nodos item en los que el atributo store’s @id sea igual a 1 y el nodo item’s price sea mayor que 5.
Al hacer clic en Aceptar, el siguiente código se inserta en la página XSLT: <xsl:for-each select="provider/store[@id = 1]/items/item[price > 5]">
Content goes here
</xsl:for-each>
Para más información y ejemplos de regiones repetidas, consulte la sección <xsl:for-each> del panel Referencia.
|