---
title: "Expressões XPath para a geração de relatórios de dados"
date: "2013-09-27"
categories: 
  - "xpath"
tags: 
  - "altova-xmlspy"
  - "authentic"
  - "epub"
  - "stylevision"
  - "xml-reports"
  - "xpath"
Descriptions: Learn about using XPath to select data for reports in Altova StyleVision. 
description: Este artigo explora a utilização de expressões XPath no XMLSpy e no StyleVision para a criação de relatórios de dados eficazes, incluindo formulários eletrónicos interativos e a criação de gráficos.
---
Status: #blog

Tags:  #altova-xmlspy #authentic #epub #stylevision #xml-reports #xpath

Categories: [xpath+xquery](/blog/pt/category/xpathxquery.md)
# Expressões XPath para a geração de relatórios de dados

No nosso artigo anterior, intitulado "[Utilizar expressões XPath para refinar a seleção de dados](https://www.altova.com/blog/2013/09/use-xpath-expressions-to-refine-data.html)", descrevemos como utilizar o XMLSpy para criar uma expressão XPath que permita selecionar uma tabela de dados contida num conjunto de dados muito maior, fornecido pelo Departamento de Educação dos Estados Unidos.

![Um relatório em HTML gerado a partir da seleção de dados XPath no StyleVision](https://lh3.ggpht.com/-8oo4VgEw2gE/UjnhznO7ahI/AAAAAAAABTA/MgScZv75SRE/clip_image001%25255B3%25255D.png?imgmax=800 "An HTML report based on XPath data selection in StyleVision")

Podemos reutilizar o trabalho realizado no [XMLSpy](https://www.altova.com/pt/xmlspy.html) para criar rapidamente um design no [StyleVision](https://www.altova.com/pt/stylevision.html) para um relatório ou um formulário eletrónico, de forma a apresentar os aspetos mais importantes dos dados. <!--more--> Podemos começar com um design simples no StyleVision, baseado no esquema XML gradData e no ficheiro XML que criámos no XMLSpy. Como guardámos as configurações finais do gráfico no XMLSpy, também podemos recarregar o design do gráfico no StyleVision.

![Design StyleVision para o relatório de dados](https://lh5.ggpht.com/-xiB7bV790Jk/Ujnh0IRLadI/AAAAAAAABTE/2Iu9DewDrVE/clip_image002%25255B3%25255D.png?imgmax=800 "StyleVision design for the data report")

Utilizaremos a expressão XPath `set setnum="FOS"`, desenvolvida no XMLSpy, em dois locais para selecionar apenas uma das tabelas contidas no ficheiro XML maior. Esta expressão só corresponderá ao elemento `/data/set` cujo atributo `setnum` seja "FOS": `set setnum="FOS"`.

Primeiramente, utilizaremos uma expressão para definir a saída condicional do elemento de descrição. Cada tabela individual inclui uma descrição que poderá ser utilizada como um título útil para o gráfico. Podemos inserir a expressão XPath na janela de ajuda das propriedades para definir a condição.

![Janela de propriedades para o controlo de condição, que exibe a expressão XPath](https://lh5.ggpht.com/-YG9jeuYhz60/Ujnh0nD5kOI/AAAAAAAABTM/e8991AZ1Mmo/clip_image003%25255B3%25255D.png?imgmax=800 "Properties window for the condition control, showing the XPath expression")

A expressão torna-se visível quando o cursor passa por cima da condição:

![O XPath é exibido na janela de design](https://lh6.ggpht.com/-29GKlKQI2lg/Ujnh1IkwNKI/AAAAAAAABTU/uwAQH1bDzsU/clip_image004%25255B3%25255D.png?imgmax=800 "XPath displayed in the design window")

Utilizaremos também a expressão XPath na caixa de diálogo de configurações do gráfico para selecionar as linhas de dados que serão representadas no gráfico

![XPath para a seleção de dados nas configurações do gráfico](https://lh3.ggpht.com/-2CPnWbnUFDo/Ujnh1pCrmCI/AAAAAAAABTc/sSVaLkPHNo4/clip_image005%25255B3%25255D.png?imgmax=800 "XPath for data selection in the chart settings dialog")

Estes dois exemplos geraram o código HTML que é exibido na primeira imagem, no topo do artigo.

**Uma expressão XPath combinada com uma caixa de seleção permite que o utilizador faça uma escolha**

Podemos converter o relatório para um formato interativo [Authentic](https://www.altova.com/pt/authentic.html) Para o e-Form, podemos usar um elemento XML como variável na expressão XPath, em vez de usar o valor de texto fixo "FOS". Desta forma, podemos permitir que o utilizador defina o conteúdo do elemento XML através de uma caixa de seleção.

Para implementar esta funcionalidade, iremos inserir um segundo ficheiro XML de trabalho para armazenar a seleção temporária do utilizador, que será exibida abaixo nas janelas de Visão Geral do Design e Árvore de Esquema do StyleVision.

![Visão geral do design e diagrama de estrutura que mostram vários ficheiros XML em funcionamento](https://lh3.ggpht.com/-Im-cnaYif1U/Ujnh2Cw5PcI/AAAAAAAABTk/C4XnAC8TpC8/clip_image006%25255B3%25255D.png?imgmax=800 "Design Overview and Schema Tree showing multiple working XML files")

Podemos inserir a caixa de combinação no topo do formulário, acima da descrição e do gráfico.

![Uma caixa de combinação foi adicionada ao design para permitir o controlo interativo](https://lh5.ggpht.com/-bVe6I8apjyQ/Ujnh3ICXv6I/AAAAAAAABTs/MlP9zxtIb6U/clip_image007%25255B3%25255D.png?imgmax=800 "A combo box added to the design for interactive contro")

A StyleVision oferece várias formas de definir o comportamento de uma caixa de combinação. Utilizaremos uma lista de elementos visíveis, cada um com o seu valor XML correspondente.

![Definição da caixa de combinação: elementos visíveis e valores XML](https://lh4.ggpht.com/-FKR2V28AAo0/Ujnh3rnMaSI/AAAAAAAABT0/AxeFDeQ3O5I/clip_image008%25255B3%25255D.png?imgmax=800 "Combo box defintion of Visible Entries and XML values")

A caixa de combinação irá atribuir um valor XML ao gráfico no ficheiro "userselections.xml", que poderemos, posteriormente, comparar com o atributo "setnum" no ficheiro "gradData.xml".

Em seguida, precisamos modificar ambas as expressões XPath. A nova expressão XPath para a condição atribuída à descrição é:

../@setnum=$XML2/userchoice/chart

como se pode ver abaixo, na janela de Propriedades.

![Expressão XPath atualizada para a visualização selecionada pelo utilizador](https://lh3.ggpht.com/-JdpIuvVUwkg/Ujnh4LTVkgI/AAAAAAAABT8/zgCirqKk4N4/clip_image009%25255B3%25255D.png?imgmax=800 "Updated XPath expression for user-selected display")

A nova expressão XPath para os dados do gráfico é: `$XML/data/set[@setnum=$XML2/userchoice/chart]/row`

Mostrado abaixo, na caixa de diálogo de configurações do gráfico.

![Atualização da expressão XPath no diálogo de configurações do gráfico](https://lh5.ggpht.com/-dGod4uRG51s/Ujnh4o79oAI/AAAAAAAABUE/4ARuRxZhoY4/clip_image010%25255B3%25255D.png?imgmax=800 "Updated XPath in the chart settings dialog")

O StyleVision inclui um editor de expressões XPath, que pode aceder clicando no botão "editar" ao lado de qualquer uma das expressões XPath mostradas acima. O editor de expressões XPath possui um modo "Construtor" e um modo "Avaliador" para auxiliar na escrita de expressões XPath 1.0 e XPath 2.0. O modo "Construtor" oferece verificação de sintaxe em tempo real e uma janela de preenchimento automático para maior eficiência. O editor XPath é apresentado em tamanho reduzido abaixo:

![Construtor de XPath (visualização simplificada)](https://lh5.ggpht.com/-Ub_TN4ToohM/Ujnh5S626lI/AAAAAAAABUM/HiponeePKfk/clip_image011%25255B3%25255D.png?imgmax=800 "XPath Builder (reduced view)")

Depois de redimensionarmos a caixa de combinação para que se ajuste à entrada mais larga, o formulário eletrónico terá a seguinte aparência:

![Publicação eletrónica interativa para apresentação de dados](https://lh6.ggpht.com/-0yA20dK6nbU/Ujnh6j9GF7I/AAAAAAAABUU/g2vu5nIXBPk/clip_image012%25255B3%25255D.png?imgmax=800 "Interactive e-Pub for data reporting")

A caixa de combinação permite ao utilizador selecionar qualquer outro gráfico:

![Seleção de um novo utilizador a partir do menu suspenso da caixa de combinação](https://lh4.ggpht.com/-IG1CxL7EX54/Ujnh7K_KfpI/AAAAAAAABUc/DIEOPx80NSU/clip_image013%25255B3%25255D.png?imgmax=800 "New user selection from combo-box drop-down")

O valor XML da nova seleção substitui o conteúdo do elemento `<chart>` no ficheiro `userselections.xml`, e ambas as expressões XPath geram novos resultados:

![Relatório atualizado sobre e-books](https://lh3.ggpht.com/-zjsWOtn6bhQ/Ujnh7rIzJ7I/AAAAAAAABUo/NOL594co0Bg/clip_image014%25255B3%25255D.png?imgmax=800 "Updated e-Pub report")

[Clique aqui para descarregar uma versão de avaliação gratuita do Altova MissionKit](https://www.altova.com/pt/download-trial.html)**... incluindo o XMLSpy, o MapForce e o StyleVision, e comece a usar o XPath para refinar as suas próprias seleções de dados!**
