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", 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.

Podemos reutilizar o trabalho realizado no XMLSpy para criar rapidamente um design no StyleVision para um relatório ou um formulário eletrónico, de forma a apresentar os aspetos mais importantes dos dados. 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.

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.

A expressão torna-se visível quando o cursor passa por cima da condição:

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

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 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.

Podemos inserir a caixa de combinação no topo do formulário, acima da descrição e do gráfico.

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.

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.

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.

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:

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:

A caixa de combinação permite ao utilizador selecionar qualquer outro gráfico:

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:

Clique aqui para descarregar uma versão de avaliação gratuita do Altova MissionKit... incluindo o XMLSpy, o MapForce e o StyleVision, e comece a usar o XPath para refinar as suas próprias seleções de dados!