Altova MobileTogether Designer

Selección de datos del gráfico: selección sencilla

Inicio Anterior Inicio Siguiente

En esta sección:

 

Introducción

El nodo de contexto

Selección de datos para los ejes X e Y

Si la expresión for-each devuelve elementos que no son nodos

 

Introducción

En el panel Selección de datos del gráfico del cuadro de diálogo Configuración del gráfico, la opción Sencilla permite visualizar la selección de datos en formato tabla. Para explicar cómo funciona, vamos a usar el documento XML que se muestra a continuación.

 

 

El nodo de contexto

Dentro del diseño, arrastre un nodo XML desde el panel Fuentes de página para convertir este nodo en el nodo de contexto de las expresiones XPath del gráfico. Puede cambiar el nodo de contexto del gráfico arrastrando otro nodo XML al gráfico. Es importante tener en cuenta el nodo de contexto del gráfico, ya que éste es el punto de partida de los localizadores de ruta en las expresiones XPath.

 

Seleccionar datos para los ejes X e Y

En el panel Selección de datos del gráfico (imagen siguiente), hacemos la selección de datos tal y como se muestra en la imagen. Como el gráfico se insertó dentro del nodo Data, el nodo de contexto para la expresión For-Each es el nodo Data.

ChartDataSelSimple01

La tabla de datos del gráfico sería la que aparece a continuación. Lo que sucede es que por cada elemento Region[1]/Year se crea una fila y las expresiones XPath del eje X y del eje Y se evalúan dentro del contexto del elemento Region[1]/Year correspondiente.

 

ExpresiónXPath For-Each

Eje X

Eje Y para la serie

Americas

Europe

Asia

Region[1]/Year[1]

@id

text()

XPath-1

XPath-2

Region[1]/Year[2]

@id

text()

XPath-1

XPath-2

Region[1]/Year[3]

@id

text()

XPath-1

XPath-2

Region[1]/Year[4]

@id

text()

XPath-1

XPath-2

Region[1]/Year[5]

@id

text()

XPath-1

XPath-2

Region[1]/Year[6]

@id

text()

XPath-1

XPath-2

 

La expresión For-Each Region[1]/Year devuelve seis nodos (y crea seis filas en la tabla). El número de elementos de la secuencia devuelta por la expresión For-Each determina el número de marcas de graduación del eje X.

La expresión XPath para el eje X devuelve el valor del atributo @id de cada elemento Region[1]/Year. Estos valores serán las etiquetas de las marcas del eje X. Si hay más etiquetas que marcas de graduación, entonces se generarán marcas adicionales para que se puedan dibujar todas las etiquetas. Si hay menos etiquetas que marcas de graduación, entonces las últimas marcas (que no tienen etiqueta) no se etiquetarán. La opción Enumeración automática genera una secuencia de enteros que empieza por 1 y asigna un entero a cada marca del eje X.

La expresión XPath para la serie Americas (text()) devuelve el contenido de cada elemento Region[1]/Year. Esta expresión también podría haber sido similar a la de la serie Europe y Asia (explicada a continuación), siempre y cuando devuelva eficientemente los valores que queremos.

La expresión XPath para la serie Europe es: for $i in @id return //Region[2]/Year[@id=$i]. Esta expresión: (i) busca el valor actual del atributo Region[1]/Year/@id y (ii) devuelve el contenido del elemento Region[2]/Year que tiene el mismo valor @id que el valor @id del elemento Region[1]/Year actual.

La expresión XPath para la serie Asia funciona igual que la expresión utilizada para la serie Europe.

 

Esta selección de datos daría como resultado este gráfico de barras:

ChartBar2DSeries

Este sería el gráfico de líneas resultante para esta selección de datos:

ChartDataSelSimple01Chart

 

Si la expresión for-each devuelve elementos que no son nodos

Dado que el número de marcas del eje X depende principalmente del número de elementos que devuelve la expresión Xpath For-Each, la expresión XPath de la imagen siguiente (distinct-values(//Year/@id)), que devuelve los seis valores únicos del año, también generará seis marcas en el eje X. Los elementos devueltos por la secuencia, sin embargo, son valores atómicos, no nodos. En consecuencia y aunque se puedan usar como elementos de contexto, no se pueden usar como nodos de contexto para localizar nodos en la estructura jerárquica XML. Sin embargo, pueden utilizarse para localizar nodos en función de la igualdad de valores, que es como los utilizaremos.

ChartDataSelSimple02

Observe que en la selección de datos de la imagen anterior:

 

las expresiones para los ejes X e Y utilizan los valores atómicos devueltos por la expresión For-Each como resultado directo y como valores de filtro de prueba.

los pasos de ubicación de las expresiones XPath empiezan por el nodo de documento ($XML en $XML//Region...). Esto es necesario porque los valores atómicos no ofrecen contexto de posición.

 

La tabla de datos del gráfico dará como resultado estos valores:

 

ExpresiónXPath For-Each

Eje X

Eje Y para la serie

Americas

Europe

Asia

2005

2005

XPath-1

XPath-2

XPath-3

2006

2006

XPath-1

XPath-2

XPath-3

2007

2007

XPath-1

XPath-2

XPath-3

2008

2008

XPath-1

XPath-2

XPath-3

2009

2009

XPath-1

XPath-2

XPath-3

2010

2010

XPath-1

XPath-2

XPath-3

 

 

© 2019-2025 Altova GmbH