.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "Subreport 3pm" .TH Subreport 3pm 2025-09-28 "Lire 2.1.1" "LogReport's Lire Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Lire::Subreport \- Interface to a Lire subreport. .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 3 \& use Lire::ReportParser::ReportBuilder; \& my $parser = new Lire::ReportParser::ReportBuilder; \& my $report = $parser\->parse( "report.xml" ); \& \& foreach my $s ( $report\->sections() ) { \& print "Section: \*(Aq", $s\->title(), "\en\en"; \& foreach my $r ( $s\->subreports() ) { \& print "Subreport ", $r\->title(), " has ", scalar $r\->entries(), \& " entries\en"; \& } \& } .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This module offers an API to the subreports included in the sections of a Lire\*(Aqs report. .PP This object has all the methods that the \fBLire::Report::Group\fR\|(3pm) object offers. You\*(Aqll find more information on to access the data contained in a subreport in that man page. .SH CONSTRUCTORS .IX Header "CONSTRUCTORS" .ie n .SS "new( $superservice, $type)" .el .SS "new( \f(CW$superservice\fP, \f(CW$type\fP)" .IX Subsection "new( $superservice, $type)" Creates a new Lire::Report::Subreport object. The \f(CW$superservice\fR parameter and \f(CW$type\fR parameters defines the report specification which was used to generate this subreport\*(Aqs data. .ie n .SS "new_missing( $superservice, $type, [$reason])" .el .SS "new_missing( \f(CW$superservice\fP, \f(CW$type\fP, [$reason])" .IX Subsection "new_missing( $superservice, $type, [$reason])" Creates a new Lire::Report::Subreport object marked as missing. The \&\f(CW$superservice\fR parameter and \f(CW$type\fR parameters defines the report specification which was used to generate this subreport\*(Aqs data. The \&\f(CW$reason\fR parameter sets the reason why this subreport is missing. .SH "OBJECT METHODS" .IX Header "OBJECT METHODS" .ie n .SS "id( [ $new_id ] )" .el .SS "id( [ \f(CW$new_id\fP ] )" .IX Subsection "id( [ $new_id ] )" Returns (and optionnally change) the id of this subreport. The subreport\*(Aqs ID uniquely identify it in its Report. Subreports with the same ID will be merged together. .SS \fBis_missing()\fP .IX Subsection "is_missing()" Returns true if this subreport was marked as missing in the XML file. A missing subreport is a subreport which was present in the report configure file but which was marked as missing in the XML report. This happens when the report specification requires fields that weren\*(Aqt available in the DLF files generated. It can also happen when an error occurs in the report generation process. .SS \fBmissing_reason()\fP .IX Subsection "missing_reason()" Reports why the subreport is missing. This will be undefined when the subreport is not missing. .SS \fBsuperservice()\fP .IX Subsection "superservice()" Returns the superservice of this subreport. This is the superservice that defined the report specification from which the subreport was generated. .SS \fBtype()\fP .IX Subsection "type()" Returns the type of this subreport. This is the ID of the report specification that was used to generate this subreport. .ie n .SS "schemas( [ $schema, ... ] )" .el .SS "schemas( [ \f(CW$schema\fP, ... ] )" .IX Subsection "schemas( [ $schema, ... ] )" Returns the schemas used by this Subreport. .ie n .SS "field_schema( $field )" .el .SS "field_schema( \f(CW$field\fP )" .IX Subsection "field_schema( $field )" Returns the schema which contain field \f(CW$field\fR. Returns undef if this name isn\*(Aqt defined in any schema. .SS \fBchart_configs()\fP .IX Subsection "chart_configs()" Returns an array reference containing Lire::Report::ChartConfig objects specifying the charts that should be generated from this Subreport. .ie n .SS "add_chart_config( $chart_config )" .el .SS "add_chart_config( \f(CW$chart_config\fP )" .IX Subsection "add_chart_config( $chart_config )" Adds a Lire::Report::ChartConfig object specifying a chart that should be generated from this Subreport\*(Aqs data. .SS "title( [$title] )" .IX Subsection "title( [$title] )" Returns the subreport\*(Aqs title. .PP If the \f(CW$title\fR is parameter is set, the subreport\*(Aqs title will be set to this new value. .SS "description( [$new_desc] )" .IX Subsection "description( [$new_desc] )" Returns this subreport\*(Aqs description. The description is encoded in DocBook XML. .PP If the \f(CW$description\fR parameter is set, this method will set this subreport\*(Aqs description to this new value. If the \f(CW$description\fR parameter is undef, that description will be removed. .SS "table_info( [$table_info] )" .IX Subsection "table_info( [$table_info] )" Returns the top\-level Lire::Report::TableInfo object describing this table layout. If \f(CW$table_info\fR parameter is set, the subreport table info will be set to this object. .SS \fBnrows()\fP .IX Subsection "nrows()" Returns the number of rows in the table. .SS \fBlast_row_idx()\fP .IX Subsection "last_row_idx()" Returns the index of the last row of data. .ie n .SS "getrow_by_idx( $index )" .el .SS "getrow_by_idx( \f(CW$index\fP )" .IX Subsection "getrow_by_idx( $index )" Returns an array reference containing row \*(Aqidx\*(Aq of the subreport data. A row will contain all the values (categorical and numerical) that would appear on the same row. When an entry is made of categorical variables plus nested groups, the group\*(Aqs summary values will appear on the same row than the categorical variable. .PP Each value is the hash reference that is returned by \&\fBEntry::data_by_name()\fR for that column and it is in the row at the column\*(Aqs index. .SS \fBgetrows()\fP .IX Subsection "getrows()" Returns all rows contained in the subreport. This method is useful for rendering the subreport table. .SS \fBfinalize()\fP .IX Subsection "finalize()" This method should be called after all entries were added. It assign row\-idx and computes column width and statistics. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBLire::ReportParser::ReportBuilder\fR\|(3pm) \fBLire::Report::Section\fR\|(3pm) \&\fBLire::Report::Report\fR\|(3pm) \fBLire::Report::Entry\fR\|(3pm), \&\fBLire::Report::Group\fR\|(3pm), \fBLire::Report::ChartConfig\fR\|(3pm) .SH VERSION .IX Header "VERSION" \&\f(CW$Id:\fR Subreport.pm,v 1.46 2006/07/23 13:16:31 vanbaal Exp $ .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2002, 2004 Stichting LogReport Foundation LogReport@LogReport.org .PP This file is part of Lire. .PP Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html. .SH AUTHOR .IX Header "AUTHOR" Francis J. Lacoste