Usar cálculos automáticos
Los cálculos automáticos son un potente mecanismo que permite obtener información adicional sobre los datos XML disponibles. En este apartado del tutorial añadirá dos datos al diseño: el número total de noticias (elementos newsitem) y el período de tiempo cubierto por las noticias del documento XML. Estos datos no están disponibles en el documento XML explícitamente pero se pueden calcular o manipular a partir de los datos disponibles.
Contar los nodos newsitem
Para calcular cuántas noticias hay en el documento XML (cuántos elementos newsitem hay):
1.Primero debe crear espacio suficiente para una línea de texto estático. En esta línea insertaremos también el cálculo automático. Utilice la tecla Entrar para añadir líneas nuevas e inserte una línea horizontal bajo el espacio recién creado (imagen siguiente).
2.Escriba el texto estático "Total number of news items: " (número total de noticias) tal y como muestra la imagen anterior.
3.Aplique el estilo local que prefiera al texto estático. Para ello siga las instrucciones del apartado anterior Aplicar formato al contenido.
4.Ponga el cursor justo después de los dos puntos y seleccione el comando Insertar | Cálculo automático | Valor. Se abre el cuadro de diálogo Editar expresión XPath (imagen siguiente). Si lo prefiere, también puede hacer clic con el botón derecho y seleccionar el mismo comando en el menú contextual.
5.En el panel donde aparece el árbol del esquema observe que el nodo de contexto es newsitems, el cual aparece resaltado. Ahora escriba la expresión count(newsitem) en el recuadro superior del diálogo o genere la expresión usando los dos paneles de ayuda situados a la derecha. Por ejemplo, haga doble clic en la función count (situada en el grupo de funciones Secuencia) para insertarla en el recuadro superior. Después ponga el cursor dentro del paréntesis de la función y haga doble clic en el nodo newsitem del árbol del esquema. Para ver qué resultado devuelve la expresión, haga clic en el botón Evaluador. El resultado de la evaluación aparece en el panel Resultados, situado en la parte inferior derecha (imagen siguiente). Para más información sobre cómo usar este cuadro de diálogo, consulte el apartado Editar expresiones XPath.
6.Para terminar haga clic en Aceptar y el cálculo automático se inserta en la posición del cursor (imagen siguiente).
7.Ahora aplique el formato que prefiera al cálculo automático usando estilos locales.
Ahora la vista previa HTML del diseño tiene este aspecto:
Ver el período de tiempo cubierto por las noticias
El período de tiempo total cubierto por todas las noticias se puede calcular si obtenemos la fecha de la noticia más antigua y la fecha de la noticia más reciente. Para ello podemos usar las expresiones XPath que aparecen más abajo. La primera expresión XPath da como resultado el contenido del nodo date. La segunda expresión genera los valores de mes (month) y año (year) del nodo date. Puede usar una de estas dos expresiones:
•concat(min(//date), ' to ', max(//date)).
•concat(month-from-date(min(//date)), '/', year-from-date(min(//date)), ' to ', month-from-date(max(//date)), '/', year-from-date(max(//date)))
En la vista Diseño inserte el texto estático y el cálculo automático tal y como muestra la imagen siguiente. Después aplique los estilos locales que prefiera.
Ahora la vista previa HTML del diseño tiene este aspecto:
No olvide guardar el archivo de diseño.