Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper > iReport
iReport Forum d'entraide sur iReport
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/04/2007, 15h55   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 33
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 33
Points : 10
Points : 10
Par défaut problème de connexion avec datasource xml

Bonjour tout le monde !
En fait voila mon problème :

j'ai essayé l'exemple 7.4 à l'URL : http://jasperforge.org/sf/wiki/do/vi...edTab=versions

Alors je configure la datasource xml, je set le fichier, je lui set l'expression de la source de donnée (je lui met /addressbook/category/person) comme dis dans l'exemple.

ensuite ben par exemple je vais voir dans Donnée -> Consultation de rapport et je vois déjà pas de champs ... je lui set une commande XPath, par exemple :
/addressbook/category@name
La il me dis : "No Fields Provider available for xPath queries !"

Bon admettons, ensuite je fais : Modifier -> insérer une élément -> zone de texte : puis je lui met $F{CATEGORY} ... puis il viens à m'afficher dans la console que le champ category n'existe pas ... puis suivant l'exemple, comment fait-on pour lui setter sa description ?

Je dois surement passer qqchose .. y aurait-il qqun pour éclairer ma lanterne ?

Juste une petite info : je travaille avec la version 1.3.2...

Merci d'avance
Flash31186 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2007, 10h27   #2
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : mai 2006
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : mai 2006
Messages : 23
Points : 26
Points : 26
Envoyer un message via Skype™ à misterdi
Bonjour,

j'ai eu le même problème.
En fait tu ne dois pas définir les champs dans Donnée -> Consultation de rapport.

Une fois que tu as créé ta source de données XML avec son expression, tu vas dans Afficher -> Champs. Et là tu insère de nouveaux champs avec un nom, un type et dans la description tu met l'expression XPath qui permet d'arriver à ce champ.

A noter que tu n'est pas obligé de reprendre toute l'expression depuis la racine si tu as défini une expression lors de la création de ta source de données XML.
Tu peu mettre LASTNAME à la place de /addressbook/category/person+LASTNAME par exemple.

Je ne sais pas si il existe une méthode pour extraire tous les champs automatiquement, mais si elle existe je ne l'ai pas trouvée.
misterdi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 15h33   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 33
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 33
Points : 10
Points : 10
ah oui d'accord, c'est comme ca qu'il faut faire ... en fait moi pour finir j'ai été bidouiller mon fichier jrxml à la main ... j'avais vu que dans un fichier créé avec l'assistant avec un datasource oracle, il définissais des champs field ... j'ai repris ces champs à en les modifiant à la mano et ca a été ...

mais bon maintenant j'ai un autre problème, (je l'ai déjà mis dans le forum du dessus (jasper)) mais bon ... donc le problème c qu'il me reprend tout le temps le même enregistrement ... et pourtant je l'ai bien mis dans la bande detail ... bizarre je trouve ...
Flash31186 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 12h23   #4
Membre habitué
 
Avatar de relivio
 
Inscription : février 2004
Messages : 157
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 157
Points : 139
Points : 139
Bonjour,

J'essaie aussi de générer un rapport à partir d'une Datasource XML, mais je rencontre un petit problème, je n'ai rien en sortie (enfin si un fichier PDF vide), et aucune erreur de compilation ou quoi que ce soit.

Je bosse sur la version 1.2.5 donc peut-être que ma version n'est pas compatible, ça vous évitera de lire ce qui suit.

Sinon, je ne comprends vraiment pas pourquoi? J'ai bien bien renseigner ma Datasource en tant que fichier XML pointant sur le fichier ci-joint, et je lui demande bien d'utiliser le XPath. Enfin, dans mes champs, je lui spécifie bien le XPath de ce que je souhaite récupérer.

En dessous vous trouverez le code que j'utilise.

Merci d'avance pour votre aide.

Mon fichier XML :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="ISO-8859-1"?>
<Report_XML>
  <RESULT CLE="1">
    <AUDIT>
      <ID_OP>OP_1</ID_OP>
    </AUDIT>
  </RESULT>
  <RESULT CLE="2">
    <AUDIT>
      <ID_OP>OP_2</ID_OP>
    </AUDIT>
  </RESULT>
  <RESULT CLE="3">
    <AUDIT>
      <ID_OP>OP_3</ID_OP>
    </AUDIT>
  </RESULT>
</Report_XML>
Et mon fichier JRXML:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?xml version="1.0" encoding="ISO-8859-1"  ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
		 name="ctrl"
		 columnCount="1"
		 printOrder="Vertical"
		 orientation="Portrait"
		 pageWidth="595"
		 pageHeight="842"
		 columnWidth="535"
		 columnSpacing="0"
		 leftMargin="30"
		 rightMargin="30"
		 topMargin="20"
		 bottomMargin="20"
		 whenNoDataType="NoPages"
		 isTitleNewPage="false"
		 isSummaryNewPage="false">
	<property name="ireport.scriptlethandling" value="0" />
	<property name="ireport.encoding" value="ISO-8859-1" />
	<import value="java.util.*" />
	<import value="net.sf.jasperreports.engine.*" />
	<import value="net.sf.jasperreports.engine.data.*" />
 
 
	<field name="CLE" class="java.lang.String">
		<fieldDescription><![CDATA[/Report_XML/RESULT@CLE]]></fieldDescription>
	</field>
	<field name="ID_OP" class="java.lang.String">
		<fieldDescription><![CDATA[/Report_XML/RESULT/AUDIT+ID_OP]]></fieldDescription>
	</field>
 
		<background>
			<band height="0"  isSplitAllowed="true" >
			</band>
		</background>
		<title>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</title>
		<pageHeader>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</pageHeader>
		<columnHeader>
			<band height="30"  isSplitAllowed="true" >
			</band>
		</columnHeader>
		<detail>
			<band height="100"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="0"
						y="0"
						width="100"
						height="30"
						key="staticText-1"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Center" verticalAlignment="Middle">
						<font/>
					</textElement>
				<text><![CDATA[Identifiant opération]]></text>
				</staticText>
				<staticText>
					<reportElement
						x="99"
						y="0"
						width="100"
						height="30"
						key="staticText-2"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement textAlignment="Center" verticalAlignment="Middle">
						<font/>
					</textElement>
				<text><![CDATA[Clé audit]]></text>
				</staticText>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="0"
						y="29"
						width="100"
						height="30"
						key="textField-1"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA[$F{ID_OP}]]></textFieldExpression>
				</textField>
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="99"
						y="29"
						width="100"
						height="30"
						key="textField-2"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.String"><![CDATA[$F{CLE}]]></textFieldExpression>
				</textField>
			</band>
		</detail>
		<columnFooter>
			<band height="30"  isSplitAllowed="true" >
			</band>
		</columnFooter>
		<pageFooter>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</pageFooter>
		<lastPageFooter>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</lastPageFooter>
		<summary>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</summary>
</jasperReport>
relivio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 09h38   #5
Invité de passage
 
Inscription : octobre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 4
Points : 1
Points : 1
Bonjour,
je n'ai pas réussi à résoudre ton problème, mais tu peux le contourner en modifiant le paramétrage de ta source de donnée. C'est à dire qu'au lieu d'utiliser l'expression XPath du rapport, tu peux "créer une source de données à l'aide de l'expresion" : /Report_XML/RESULT
Puis , tu peux paramétrer tes variables :
CLE avec comme description du champ : @CLE
ID_OP avec comme description du champ : AUDIT/ID_OP
klochette22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h52.


 
 
 
 
Partenaires

Hébergement Web