Erro no IReport e JasperReport

Olá pessoal, tudo ok?

Olha só, eu estou criando um relatório com o IReport, que deve ler os dados de um arquivo XML, eu coloquei só um campo de parâmetro que eu acho q é para ler do XML:

E não importa que método eu chame, sempre aparece o seguinte erro ao compilar o relatório:

Se alguém poder fazer o favor de me ajudar eu agradeço muito!

Você criou o parâmetro XML_DATA_DOCUMENT no iReport?

Pode ser feito acessando o menu View -> Report Parameters botão New.

[quote=julianostr]Você criou o parâmetro XML_DATA_DOCUMENT no iReport?

Pode ser feito acessando o menu View -> Report Parameters botão New.
[/quote]

Não criei, pq essa parâmetro já está criado, eu só tentei usá-lo, acho que ele está lá justamente para ler do XML, ou não? Há outra forma?

Na minha versão (0.5.1) esse parâmetro não aparece como um dos default.

Eu uso a versão 1.3.0. Esse parâmetro pode estar com erro?

Vc pode me passar o procedimento para ler dados de um XML (é a primeira vez que eu tenho q fazer isso)?

Obrigado!

Vixi, cara, não sei não. Daí você vai ter que pesquisar mais sobre o assunto pois eu não conheço as versões mais novas do iReport.

Na versão que você usa não é possível ler XML?

Se for, vc pode me passar a configuração do parâmetro?

Ops, me expressei mal. Eu nunca fiz isso também, por isso eu respondi “não sei não”. É que soou de uma maneira diferente né.

Eu andei olhando aqui e essa minha versão aceita sim arquivos .xml como fonte de dados mas eu não sei como recuperá-los ainda.

Já direcionei a fonte (Active connection) para o arquivo que eu criei mas não estou sabendo ainda como montar o select pra isso.

O jeito é ir fuçando…procurando algum tutorial ou help na net.

Pior que na net até tem uns tutoriais, o único problema é que todos usam algum banco de dados como exemplo. Se pelo menos tivesse um relatório pronto, feito dessa forma, era só importar.

Vamos ver né? Valew!!!

Bom dia.
Estou fazendo um relatório que lê dados de um arquivo CSV. Para isto tive que criar uma conexão (data - conexão/Fonte da Dados/new). Ainda não usei nenhum arquivo XML mas a teoria é a seguinte:

  Crie uma conexão ( Data - Conexão/Fonte de Dados/New)
  Digite um nome para sua conexão
  Escolha o tipo XML File DataSorce
  Informe o nome do arquivo XML a ser usado
  Informe a expressão para o select

Tome este arquivo XML como exemplo.

Davolio Nancy< Fuller< Andrew Leverli Peacock Margar

Uma expressão para selecionar todas as pessoas seria

   /addressbook/category/person

Seriam retornados 4 nós

Davolio</lastn Nancy</firstn Fuller</lastna Andrew</first Leverling</las Peacock</lastn Margaret</fir

Para selecionar apenas as pessoas da categoria trabalho a expressão seria

  /addressbook/category[@name = "work"]/person

O resultado seria

Peacock</lastn Margaret</fir

Os campos terão que ser criados conforme tabela abaixo:

Fieldname Description Type
ID @id Integer
LASTNAME lastname String
FIRSTNAME forname String
CATEGORY ancestor::category/@name String

Depois é só montar o relatório e pronto. Como disse esta é a teoria. Não tenho experiencia com arquivos XML. Espero que estas informaçoes te ajudem.

Aproveitando… estou comproblemas para usar a Expressão de filtragem para um relatório que lê os dados de um arquivo CSV. Quando uso uma expressão do tipo:

 $F{nome}.conpareTo("AAA")>0

Aparece o erro

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(((java.lang.String)field_nome.getValue()).compareTo(“AAA”)>0);

Alguma dica???

Coloque sua expressão dentro de um Boolean. Isso acontece qdo vc está utilizando o campo “Print when expression”. Para isso coloque sua expressão inteira dentro de um:

new Boolean("SUA EXPRESSÃO")

A indicação do jesley.sena é a correção para o problema apresentado pelo criador do tópico. Mesmo fazendo tanto tempo, acho importante postar a confirmação da solução para que possa ajudar quem está com esta mesma inconsistência.

Eu estava com a mesma dúvida. “Por que fazer cast de boolean pra boolean?” Instanciando o boolean, o iReport se encontra.