Re: rlib looks nice

Denis Kokarev <[email protected]> Sat, 10 Sep 2005 14:57:15 -0400
Newsgroups gmane.text.rlib.user
Organization AT&T Labs Research
Message-ID <[email protected]>
Thank you, somehow xml.pl is not in sourceforge.net distribution.
The tool looks nice and small, yet powerful.

Basic functionality looks ok, but I got a couple of questions:

I couldn't break on v.* variable. If I break on v.day it prints first 
record for the next day first and only then handles <breakfooter> 
section. Is it how it suppose to run? I've had to break on expression to 
make it work properly
...
2004-09-10 23h	4708 887
2004-09-11 00h	3544 230
2004-09-11	38170 6494
2004-09-11 01h	6312 812
...

Example is attached.


Also, I couldn't declare a var that refers to other DATE v.* vars. 
Reference to STR v.* vars seems working.

<Variables>
<Variable name="tm" value="stodtsql(time)" type="expression"/>
<Variable name="week" value="format(v.tm, '!@%V')" type="expression"/>
<Variable name="day" value="format(v.tm, '!@%Y-%m-%d')" type="expression"/>

Each line it was complaining:
Format type does not match variable type in 'format' functionFormat type 
does not match variable type in 'format' functionrlib_process_variables 
EXPECTED TYPE NUMBER OR STRING FOR RLIB_REPORT_VARIABLE_EXPRESSION

I've had to do
<Variables>
<Variable name="week" value="format(stodtsql(time), '!@%V')" 
type="expression"/>
<Variable name="day" value="format(stodtsql(time), '!@%Y-%m-%d')" 
type="expression"/>

No big deal, but unpleasant


My intentions with RLIB are quite obvious, reports, reports, ... some 
other reports.


Bob Doan wrote:
> Hi,
> 
> On Fri, 2005-09-09 at 19:55 -0400, Denis Kokarev wrote:
> 
>>Does RLIB support input data in XML format rather than reading directly 
>>from DB? 
> 
> 
> Yes
> 
> 
>>Do you have a sample how can I do in in Perl or C? 
> 
> 
> rlib/src/examples/perl/xml.pm
> 
> 
>>This feature 
>>would be helpful for us.
> 
> 
> Out of curiosity what might AT&T be doing with RLIB?
> 
> Cheers,
> 
> - Bob
>
rtstrpt.xml (text/xml, 1.4 KB)
<?xml version="1.0"?>
<!DOCTYPE report >
<Report fontSize="9">
	<Breaks>
		<Break name="day" newpage="no">
			<BreakFields>
				<BreakField value="v.day"/>
			<!-- you need to break on:
				<BreakField value="dateof(stodtsql(time))"/>
			-->	
			</BreakFields>
			<BreakFooter>
				<Output>
					<Line>
						<field value="v.day" width="20" bold="yes" align="left"/>
						<field value="v.day_total" width="15" bold="yes" align="right"/>
						<literal width="1"/>
						<field value="v.day_incomplete" width="15" bold="yes" align="right"/>
					</Line>
				</Output>								
			</BreakFooter>
		</Break>
	</Breaks>
	<Variables>
		<Variable name="hour" value="format(stodtsql(time), '!@%Y-%m-%d %Hh')" type="expression"/>
		<Variable name="day" value="left(v.hour,10)" type="expression"/>
		<Variable name="ntotal" value="val(total)" type="expression"/>
		<Variable name="nincomplete" value="val(incomplete)" type="expression"/>
		<Variable name="day_total" value="val(total)" type="sum" resetonbreak="day"/>
		<Variable name="day_incomplete" value="val(incomplete)" type="sum" resetonbreak="day"/>
	</Variables>
	<Detail>
		<FieldDetails>
			<Output>
				<Line>
					<field value="v.hour" width="20" align="left"/>
					<field value="v.ntotal" width="15" align="right"/>
					<literal width="1"/>
					<field value="v.nincomplete" width="15" align="right"/>
				</Line>
			</Output>
		</FieldDetails>
	</Detail>
</Report>
rtstdata.xml (text/xml, 3.5 KB)
<?xml version="1.0"?>
<data>
	<fields>
		<field>time</field>
		<field>total</field>
		<field>incomplete</field>
	</fields>
<rows>
<row><col>2004-09-10 14:00:00</col><col>6031</col><col>1192</col></row>
<row><col>2004-09-10 15:00:00</col><col>5324</col><col>659</col></row>
<row><col>2004-09-10 16:00:00</col><col>1351</col><col>410</col></row>
<row><col>2004-09-10 17:00:00</col><col>3537</col><col>1001</col></row>
<row><col>2004-09-10 18:00:00</col><col>7017</col><col>563</col></row>
<row><col>2004-09-10 19:00:00</col><col>6708</col><col>1499</col></row>
<row><col>2004-09-10 20:00:00</col><col>2649</col><col>411</col></row>
<row><col>2004-09-10 21:00:00</col><col>7741</col><col>1808</col></row>
<row><col>2004-09-10 22:00:00</col><col>4361</col><col>634</col></row>
<row><col>2004-09-10 23:00:00</col><col>259</col><col>3</col></row>
<row><col>2004-09-11 00:00:00</col><col>2402</col><col>48</col></row>
<row><col>2004-09-11 01:00:00</col><col>7784</col><col>1709</col></row>
<row><col>2004-09-11 02:00:00</col><col>8905</col><col>2833</col></row>
<row><col>2004-09-11 03:00:00</col><col>6416</col><col>863</col></row>
<row><col>2004-09-11 04:00:00</col><col>3967</col><col>594</col></row>
<row><col>2004-09-11 05:00:00</col><col>9168</col><col>424</col></row>
<row><col>2004-09-11 06:00:00</col><col>9616</col><col>1699</col></row>
<row><col>2004-09-11 07:00:00</col><col>5144</col><col>710</col></row>
<row><col>2004-09-11 08:00:00</col><col>3889</col><col>767</col></row>
<row><col>2004-09-11 09:00:00</col><col>9462</col><col>1446</col></row>
<row><col>2004-09-11 10:00:00</col><col>6722</col><col>595</col></row>
<row><col>2004-09-11 11:00:00</col><col>4403</col><col>582</col></row>
<row><col>2004-09-11 12:00:00</col><col>7051</col><col>1828</col></row>
<row><col>2004-09-11 13:00:00</col><col>159</col><col>15</col></row>
<row><col>2004-09-11 14:00:00</col><col>5861</col><col>280</col></row>
<row><col>2004-09-11 15:00:00</col><col>5723</col><col>1025</col></row>
<row><col>2004-09-11 16:00:00</col><col>3421</col><col>625</col></row>
<row><col>2004-09-11 17:00:00</col><col>9684</col><col>2692</col></row>
<row><col>2004-09-11 18:00:00</col><col>4124</col><col>840</col></row>
<row><col>2004-09-11 19:00:00</col><col>4669</col><col>236</col></row>
<row><col>2004-09-11 20:00:00</col><col>8735</col><col>394</col></row>
<row><col>2004-09-11 21:00:00</col><col>2141</col><col>565</col></row>
<row><col>2004-09-11 22:00:00</col><col>9031</col><col>2850</col></row>
<row><col>2004-09-11 23:00:00</col><col>526</col><col>127</col></row>
<row><col>2004-09-12 00:00:00</col><col>2422</col><col>337</col></row>
<row><col>2004-09-12 01:00:00</col><col>5007</col><col>1651</col></row>
<row><col>2004-09-12 02:00:00</col><col>5790</col><col>209</col></row>
<row><col>2004-09-12 03:00:00</col><col>2636</col><col>553</col></row>
<row><col>2004-09-12 04:00:00</col><col>6139</col><col>837</col></row>
<row><col>2004-09-12 05:00:00</col><col>9055</col><col>1466</col></row>
<row><col>2004-09-12 06:00:00</col><col>6492</col><col>226</col></row>
<row><col>2004-09-12 07:00:00</col><col>458</col><col>24</col></row>
<row><col>2004-09-12 08:00:00</col><col>5389</col><col>210</col></row>
<row><col>2004-09-12 09:00:00</col><col>5525</col><col>1513</col></row>
<row><col>2004-09-12 10:00:00</col><col>7300</col><col>1123</col></row>
<row><col>2004-09-12 11:00:00</col><col>658</col><col>201</col></row>
<row><col>2004-09-12 12:00:00</col><col>4871</col><col>304</col></row>
<row><col>2004-09-12 13:00:00</col><col>8773</col><col>237</col></row>
</rows>
</data>