XPath de origen

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Guía y referencia del usuario > XML > Gráficos >

XPath de origen

La XPath de origen se especifica en el cuadro de diálogo "Seleccionar columnas". Determina los nodos del documento que se podrán seleccionar como datos del eje X y del eje Y. El cuadro combinado Profundidad de la búsqueda de columnas determina en cuántos niveles de descendientes se buscará para devolver nodos que se puedan usar para los datos del eje X y del eje Y.

ChartSelectColumnsDlg

 

XPath de origen a partir de la posición del cursor

Para explicar qué XPath de origen se selecciona cuando se abre el cuadro de diálogo "Selccionar columnas", usaremos el documento XML que aparece a continuación. El documento se llama YearlySales.xml y se encuentra en la carpeta C:\Documents and Settings\<usuario>\Mis Documentos\Altova\XMLSpy2019\Examples\Tutorial.

 

<?xml version="1.0" encoding="UTF-8"?>

<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

      xsi:noNamespaceSchemaLocation="YearlySales.xsd">

 <Region id="Americas">

         <Year id="2005">30000</Year>

         <Year id="2006">90000</Year>

         <Year id="2007">120000</Year>

         <Year id="2008">180000</Year>

         <Year id="2009">140000</Year>

         <Year id="2010">100000</Year>

 </Region>

 <Region id="Europe">

         <Year id="2005">50000</Year>

         <Year id="2006">60000</Year>

         <Year id="2007">80000</Year>

         <Year id="2008">100000</Year>

         <Year id="2009">95000</Year>

         <Year id="2010">80000</Year>

 </Region>

 <Region id="Asia">

         <Year id="2005">10000</Year>

         <Year id="2006">25000</Year>

         <Year id="2007">70000</Year>

         <Year id="2008">110000</Year>

         <Year id="2009">125000</Year>

         <Year id="2010">150000</Year>

 </Region>

</Data>

 

 

Pueden darse todos estos casos:

 

Si el cursor se sitúa en cualquier posición dentro de la etiqueta inicial (incluido el valor de atributo) o de la etiqueta final del elemento Data o en cualquier posición dentro del elemento Data pero no en un nodo descendiente, entonces la XPath de origen será: /Data
Si el cursor se sitúa en cualquier posición dentro de la etiqueta inicial (incluido el valor de atributo) o de la etiqueta final de un elemento Region o en cualquier posición dentro de un elemento Region pero no en un nodo descendiente, entonces la XPath de origen será: /Data/Region
Si el cursor se sitúa en cualquier posición dentro de la etiqueta inicial (incluido el valor de atributo) o de la etiqueta final de un elemento Year o en cualquier posición dentro de un elemento Year, entonces la XPath de origen será: /Data/Region[N]/Year. El filtro de predicado [N] selecciona el elemento Region dentro del cual está el elemento Year seleccionado. De ese modo, la selección de datos del eje X y del eje Y se limita a los elementos Year de este elemento Region concreto.
Si desea seleccionar un solo elemento Region, por ejemplo /Data/Region[1], resalte este elemento (es decir, el primer elemento Region tal y como aparece en la imagen siguiente).

ChartXMLSelection

Asimismo, si resalta dos elementos Region, se genera una expresión XPath que selecciona estos dos elementos Region solamente.

 

Posteriormente puede editar la expresión XPath de origen en el cuadro de diálogo "Seleccionar columnas".

 

En la vista Cuadrícula los datos se seleccionan haciendo clic en un nodo o resaltando un conjunto de nodos. La XPath de origen se genera a partir de la selección de la vista Cuadrícula del mismo modo que en la vista Texto, tal y como se describe más arriba.

 

Incluir índices en la XPath

La casilla Incluir índices determina si se usan filtros de predicado o no en la expresión XPath, si estos filtros de predicado se insertan automáticamente nada más abrir el cuadro de diálogo "Seleccionar columnas" o si se introducen manualmente. Por ejemplo, si el cursor se sitúa dentro de un elemento descendiente del primer elemento Region y se marca la casilla Incluir índices, entonces la expresión XPath generada automáticamente será, por ejemplo: /Data/Region[1]/Year. Si no se marcara la casilla Incluir índices, entonces la expresión sería esta: /Data/Region/Year.

 

La casilla Incluir índices también determina si los predicados introducidos manualmente se deben conservar. Por ejemplo, si desea usar predicados en la expresión XPath de origen, debe marcar la casilla Incluir índices.

 

Repercusiones de la selección de la XPath de origen

 

Tenga en cuenta que la XPath de origen que seleccione tiene algunas repercusiones:

 

El número de componentes en la secuencia devuelta por la XPath de origen determina el número de marcas de graduación presentes en el eje X. Para cambiar el número de marcas de graduación del eje X hay dos opciones: modificar la XPath de origen o seleccionar un número de etiquetas para cualquier serie mayor al número de marcas de graduación. Para más información sobre este caso, consulte el apartado selección del eje X.
El nodo de la XPath de origen es el nodo antecesor de todos los nodos disponibles para la selección de datos del eje X y del eje Y y para todas las expresiones XPath permitidas.
Como resultado de estos dos puntos, recuerde que los cambios realizados en la expresión XPath de origen no sólo afectan al número de marcas de graduación del eje X sino también al contexto de todas las expresiones XPath relacionadas con el gráfico.

 

Por ejemplo, a continuación citamos algunas repercusiones de algunas expresiones XPath (usando el documento XML de los ejemplos anteriores):

 

/Data/Region: devuelve los 3 elementos Region, es decir, el eje X tendrá 3 marcas de graduación. Cada elemento Region será a su vez el nodo de contexto para las expresiones XPath.
/Data/Region/Year: devuelve 18 elementos Year, es decir, el eje X tendrá 18 marcas de graduación. Cada elemento Year será a su vez el nodo de contexto para las expresiones XPath.
/Data/Region[1]/Year: devuelve los 6 elementos Year secundarios del primer elemento Region, es decir, el eje X tendrá 6 marcas de graduación. Cada elemento Year del primer elemento Region será a su vez el nodo de contexto para las expresiones XPath.
distinct-values(//Year/@id): devuelve 6 componentes (los valores diferentes del atributo Year/@id, es decir, 2005, 2006, 2007, 2008, 2009 y 2010). Sin embargo, puesto que esta expresión XPath no devuelve un nodo, esta no puede servir de nodo de contexto para las expresiones XPath. Si los componentes de esta secuencia se deben usar como nodos de destino en el documento XML (usando, por ejemplo, la función current() cuya forma abreviada es "."), entonces la expresión XPath que use el componente actual debe empezar en la raíz del documento o no se podrá establecer el contexto. Por ejemplo: /Data/Region[1]/Year[@id eq .].

 


© 2019 Altova GmbH