Hva er en JRXML-fil?
En JRXML-fil er laget av JasperReports og inneholder designdefinisjoner i populært XML filformat. Den lagrer alle designelementene som rapportoppsett, tekstfelt, bilder, diagrammer, parametere og variabler. JasperReports er et Java-bibliotek som brukes til å lage rapporter programmatisk ved å hente data fra backend-databaser og lagringsmedier.
JRXML-filformat
JRXML-filer er vanlige tekstfiler som er opprettet basert på XML-filformatet. JasperReport-rammeverket kan håndtere forskjellige typer datakilder. Når en .jrxml-fil kompileres, resulterer det i en .jasper-fil som utdata. En jrxml-fil består av et sett med seksjoner. Noen seksjoner inneholder informasjon relatert til sidens fysiske egenskaper som sidedimensjon, plassering av feltene og høyden på båndene, mens noen gjelder de logiske egenskapene som deklarasjon av parametere og variabler og definisjonen av en spørring for datavalg.
JRXML-fileksempel
Et enkelt JRXML-fileksempel er vist nedenfor.
<a name="kanchor14"></a><?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports
http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="My first report" pageWidth="595" pageHeight="842" columnWidth="535"
leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<queryString language="SQL">
<![CDATA[select * from address order by city]]>
</queryString>
<field name="ID" class="java.lang.Integer">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="FIRSTNAME" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="LASTNAME" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="STREET" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="CITY" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<group name="CITY">
<groupExpression><![CDATA[$F{CITY}]]></groupExpression>
<groupHeader>
<band height="27">
<staticText>
<reportElement mode="Opaque" x="0" y="0" width="139" height="27"
forecolor="#FFFFFF" backcolor="#000000"/>
<textElement>
<font size="18"/>
</textElement>
<text><![CDATA[CITY]]></text>
</staticText>
<textField hyperlinkType="None">
<reportElement mode="Opaque" x="139" y="0" width="416" height="27"
forecolor="#FFFFFF" backcolor="#000000"/>
<textElement>
<font size="18" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{CITY}]]>
</textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="8">
<line direction="BottomUp">
<reportElement key="line" x="1" y="4" width="554" height="1"/>
</line>
</band>
</groupFooter>
</group>
<background>
<band/>
</background>
<title>
<band height="58">
<line>
<reportElement x="0" y="8" width="555" height="1"/>
</line>
<line>
<reportElement positionType="FixRelativeToBottom" x="0" y="51" width="555"
height="1"/>
</line>
<staticText>
<reportElement x=”65” y=”13” width ”424” height=”35”/>
<textElement textAlignment=”Center”>
<font size=”26” isBold=”true”/>
</textElement>
<text><![CDATE[Classic template]]> </text>
</staticText>
</band>
</title>
<pageHeader>
<band/>
</pageHeader>
<columnHeader>
<band height="18">
<staticText>
<reportElement mode="Opaque" x="0" y="0" width="138" height="18"
forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[ID]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="138" y="0" width="138" height="18"
forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[FIRSTNAME]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="276" y="0" width="138" height="18"
forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[LASTNAME]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="414" y="0" width="138" height="18"
forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[STREET]]></text>
</staticText>
</band>
</columnHeader>
Følgende er detaljene i eksemplet.
<queryString>
− Dette er tomt (ettersom vi sender data gjennom Java Beans). Inneholder vanligvis SQL-setningen, som henter rapportresultatet.
<field name>
− Dette elementet brukes til å kartlegge data fra datakilder eller spørringer til rapportmaler. navn gjenbrukes i rapportens hoveddel og skiller mellom store og små bokstaver.
<fieldDescription>
− Dette elementet tilordner feltnavnet med det aktuelle elementet i XML-filen.
<staticText>
− Dette definerer den statiske teksten som ikke er avhengig av noen datakilder, variabler, parametere eller rapportuttrykk.
<band>
− Bånd inneholder dataene som vises i rapporten.