IReport com Base de Dados em XML

Bom dia, estou montando um exemplo no IReport com base de dados em XML, crio a conexão e funciona tudo bem o teste, mas quando executo o relatório criando os campos gera o seguinte erro:

  Compilando para o arquivo ... .\Produção da Encomenda.jasper -> C:\Arquivos de programas\JasperSoft\iReport-2.0.0\ProducaoEncomenda.java
net.sf.jasperreports.engine.design.JRValidationFault@eccf6e Field not found : firstname Line: 76, Column: 53 JRXML Element: /jasperReport/detail[1]/band[1]/textField[1]/textFieldExpression[1] net.sf.jasperreports.engine.design.JRValidationFault@12656d3 Field not found : lastname Line: 90, Column: 53 JRXML Element: /jasperReport/detail[1]/band[1]/elementGroup[1]/textField[1]/textFieldExpression[1] 

A base de dados em xml está assim:

<addressbook>
<category name="home">
<person id="1">
<lastname>Davolio</lastname>
<firstname>Nancy</firstname>
</person>
<person id="2">
<lastname>Fuller</lastname>
<firstname>Andrew</firstname>
</person>
<person id="3">
<lastname>Leverling</lastname>
</person>
</category>
<category name="work">
<person id="4">
<lastname>Peacock</lastname>
<firstname>Margaret</firstname>
</person>
</category>
<favorites>
<person id="1"/>
<person id="3"/>
</favorites>
</addressbook>

Estou definindo assim os campos:

$F{lastname}
$F{firstname}

De acordo com o manual deveria usar esse tipo

/addressbook/category/person

Em que lugar devo setar esse parametro?

Tenho um exemplo que gera com o Jasper:

public static void main(String[] args) throws Exception {
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		DocumentBuilder db = dbf.newDocumentBuilder();
		
		Document doc = db.parse("c:/teste.xml");
		
		String recordPath = "/addressbook/category/person";

		String arquivoJasper = "ProducaoEncomenda.jasper";
		JRXmlDataSource xmlDataSource = new JRXmlDataSource(doc, recordPath);

		JasperPrint rel = JasperFillManager.fillReport(arquivoJasper,
				new HashMap(), xmlDataSource);

		JasperViewer.viewReport(rel, false);
}

Mas uma dúvida primaria como gero o .jasper?

Estou quase conseguindo mais ele compila gera o .jasper, exemplo desse link:

http://ireport.sourceforge.net/cap7.html

Mas quando o relatório é aberto ele monta as colunas com NAN de valor, estou pegando o conteúdo do FIRSTNAME e LASTNAME que estão declarados como java.lang.String, alguém tem idéia do que está acontecendo?

voce conseguiu ?
estou em apuros, a minha classe NÃO abre o relatorio jasperreport http://www.guj.com.br/java/250286-minha-classe-nao-funciona-para-jpasperreport-abrir-xml