Re: Antw: New gda-report's DTD
- From: "Gerhard Dieringer" <DieringG eba-haus de>
- To: <carlos hispalinux es>
- Cc: "<" <gnome-db-list gnome org>
- Subject: Re: Antw: New gda-report's DTD
- Date: Fri, 04 Aug 2000 10:50:57 +0200
Carlos Perelló Marín wrote (in several mails):
> Ok
>
> as i have see it seems all right. I think that need another revision,
> but it's much more better that my DTD, i will upload it into the gnome's
> CVS. Well, if you don't have write access, of course.
I don't have write access.
> > <!ATTLIST pageheader [or pagefooter]
> > height NMTOKEN #REQUIRED
> > positionfrequency (%positionfrequency;) "all"
> > pagenumfrequency (%numberfrequency;) "all"
> > >
> ....
> But, then if you want print to headers in the same page?
I a user defines one pageheader with pagenumfrequency="all" and the second with pagenumfrequency="even" then of course the even pages have two page headers and the odd pages have one.
> Well, i think that a "repfield" should have a label.
I don't see the need to distinguish repfield-labels and other labels, but maybe I'm wrong.
> I think that yours opinios are equal or even better than my opinions.
Nice to hear.
> Well, as i tell you in another mail, i think that we must connect this
> option with the options at /etc/paper.conf
I don't have this file on my GNU/Linux-box (SuSE 6.3).
> > 3.) They distinguish fields and calculated fields where the last actually are SQL aggregates and they allow them only in the report footer. I think both
> > points don't make too much sense because:
> > a) a field gets a calculated field, if the corresponding query delivers a aggrgate function
> > b) calculated (aggregate) fields are sometime usefully in the detail section on a report.
> >
>
> Well, this could change, couldn't it?
I don't understand your question. what could change?
> > A report designer - or another application that wants to output a report - generates a xml-report-template. This is send to a transformation engine that
> > takes the contained queries, sends them to Vivien's gda-xml-query for processing and inserts the results into the xml-report. The results should be put
> > into label elements, that replace the repfield elements.
> I don't know if this should be correct. Why you want to save the report
> query in a XML file? Why not save it only in RAM ?
IMO, I should be possible to save both -- the report template with the queries inside and the resulting report with the data inside -- into a file.
Then you can process the report again, with changed data in the DB or reprint the report with the old data, if needed.
> Yes, i want develop one report designer, but i think that we must
> develop before a report viewer. What do you think?
IMO the report designer should be developed first -- or parallel to the viewer, because
- the viewer needs some input, that actually is the output of the designer
- the report should be populated with some data from gda-xml-query, that is not ready now.
> I'm trying to port a Crystal Report's application to Linux, then i'm
> looking at Crystal reports structure, but it isn't the unique thing i
> will see!!!
I don't know Crystal Report
I also attached a new enhanced version of the DTD with some new elements: dataheader, datafooter, picture. The dataheader and data footer are similar to the group header and footer, but for an imaginary group, that contains all the data. The purpose of the picture element should be obvious.
Gerhard
PS Please reply to GDieringer@compuserve.com because I will be on holiday for two weeks.
<!-- gda-xml-report.dtd
-->
<!ENTITY % query SYSTEM "/home/gmd/xml/dtd/gda-xml-query.dtd">
%query;
<!ENTITY % reportelement "line|label|special|repfield|picture">
<!ENTITY % positionfreq "first|inside|last|allbutfirst|allbutlast|firstandlast|all">
<!ENTITY % pagefreq "even|odd|all">
<!ENTITY % linestyle "none|solid|dash|dot|dashdot|dashdotdot">
<!ENTITY % fontweight "light|normal|semibold|bold|black">
<!ENTITY % halignment "standard|left|center|right">
<!ENTITY % valignment "top|center|bottom">
<!ELEMENT report (reportheader?, pageheader*, dataheader?, reportdata?,
datafooter?, pagefooter*, reportfooter?)>
<!ATTLIST report
pagesize (A3|A4|A5|A6|B3|B4|B5|B6|letter|legal|executive) "A4"
orientation (portrait|landscape) "portrait"
units (inch|cm|pt) "cm"
topmargin NMTOKEN "2.5"
bottommargin NMTOKEN "2.5"
leftmargin NMTOKEN "2.5"
rightmargin NMTOKEN "2.5"
bgcolor NMTOKENS "255 255 255"
fgcolor NMTOKENS "0 0 0"
bordercolor NMTOKENS "0 0 0"
borderwidth NMTOKEN "1"
borderstyle (%linestyle;) "none"
fontfamily NMTOKEN "Helvetica"
fontsize NMTOKEN "10"
fontweight (%fontweight;) "normal"
fontitalic (yes|no) "no"
halignment (%halignment;) "standard"
valignment (%valignment;) "center"
wordwrap (yes|no) "no"
negvaluecolor NMTOKENS "255 0 0"
dateformat CDATA "dd.mm.yyyy"
precision NMTOKEN "2"
currency CDATA "EUR"
commaseparator (yes|no) "no"
linewidth NMTOKEN "1"
linecolor NMTOKENS "0 0 0"
linestyle (%linestyle;) "solid"
>
<!ELEMENT reportheader (query?,(%reportelement;)*)>
<!ATTLIST reportheader
height NMTOKEN "2.0"
newpage (yes|no) "no"
>
<!ELEMENT reportfooter (query?,(%reportelement;)*)>
<!ATTLIST reportfooter
height NMTOKEN "2.0"
newpage (yes|no) "no"
>
<!-- the pageheader/-footer are only printed, if both frequency conditions are true
If the report has only one page, then first and last are both true
The combination positionfreq="first" pagefreq="even" is never true
-->
<!ELEMENT pageheader (query?,(%reportelement;)*)>
<!ATTLIST pageheader
height NMTOKEN "2.0"
positionfreq (%positionfreq;) "all"
pagefreq (%pagefreq;) "all"
>
<!ELEMENT pagefooter (query?,(%reportelement;)*)>
<!ATTLIST pagefooter
height NMTOKEN "2.0"
positionfreq (%positionfreq;) "all"
pagefreq (%pagefreq;) "all"
>
<!-- the dataheader/-footer ist like a groupheader/-footer for a virtuell group,
that contains all the data
-->
<!ELEMENT dataheader (query?,(%reportelement;)*)>
<!ATTLIST dataheader
height NMTOKEN "2.0"
>
<!ELEMENT datafooter (query?,(%reportelement;)*)>
<!ATTLIST datafooter
height NMTOKEN "2.0"
>
<!ELEMENT reportdata (detail|(groupheader?,reportdata,groupfooter?))>
<!ELEMENT detail (query?,(%reportelement;)*)>
<!ATTLIST detail
height NMTOKEN "2.0"
>
<!ELEMENT groupheader (query?,(%reportelement;)*)>
<!ATTLIST groupheader
height NMTOKEN "2.0"
newpage (yes|no) "no"
>
<!ELEMENT groupfooter (query?,(%reportelement;)*)>
<!ATTLIST groupfooter
height NMTOKEN "2.0"
newpage (yes|no) "no"
>
<!ELEMENT picture EMPTY>
<!ATTLIST picture
x NMTOKEN #REQUIRED
y NMTOKEN #REQUIRED
width NMTOKEN #REQUIRED
height NMTOKEN #REQUIRED
size (cut|scale) "scale"
aspectratio (fixed|float) "fixed"
format NMTOKEN #REQUIRED
source (intern|extern) #REQUIRED
data CDATA #REQUIRED
>
<!ELEMENT line EMPTY>
<!ATTLIST line
x1 NMTOKEN #REQUIRED
y1 NMTOKEN #REQUIRED
x2 NMTOKEN #REQUIRED
y2 NMTOKEN #REQUIRED
linewidth NMTOKEN #IMPLIED
linecolor NMTOKENS #IMPLIED
linestyle (%linestyle;) #IMPLIED
>
<!ELEMENT label EMPTY>
<!ATTLIST label
text CDATA #REQUIRED
x NMTOKEN #REQUIRED
y NMTOKEN #REQUIRED
width NMTOKEN #REQUIRED
height NMTOKEN #REQUIRED
bgcolor NMTOKENS #IMPLIED
fgcolor NMTOKENS #IMPLIED
bordercolor NMTOKENS #IMPLIED
borderwidth NMTOKEN #IMPLIED
borderstyle (%linestyle;) #IMPLIED
fontfamily NMTOKEN #IMPLIED
fontsize NMTOKEN #IMPLIED
fontweight (%fontweight;) #IMPLIED
fontitalic (yes|no) #IMPLIED
halignment (%halignment;) #IMPLIED
valignment (%valignment;) #IMPLIED
wordwrap (yes|no) #IMPLIED
>
<!ELEMENT repfield EMPTY>
<!ATTLIST repfield
query IDREF #REQUIRED
value IDREF #REQUIRED
x NMTOKEN #REQUIRED
y NMTOKEN #REQUIRED
width NMTOKEN #REQUIRED
height NMTOKEN #REQUIRED
datatype NMTOKEN #REQUIRED
bgcolor NMTOKENS #IMPLIED
fgcolor NMTOKENS #IMPLIED
bordercolor NMTOKENS #IMPLIED
borderwidth NMTOKEN #IMPLIED
borderstyle (%linestyle;) #IMPLIED
fontfamily NMTOKEN #IMPLIED
fontsize NMTOKEN #IMPLIED
fontweight (%fontweight;) #IMPLIED
fontitalic (yes|no) #IMPLIED
halignment (%halignment;) #IMPLIED
valignment (%halignment;) #IMPLIED
wordwrap (yes|no) #IMPLIED
dateformat CDATA #IMPLIED
precision NMTOKEN #IMPLIED
currency CDATA #IMPLIED
negvaluecolor NMTOKENS #IMPLIED
commaseparator (yes|no) #IMPLIED
>
<!--
The text attribute of element special is a format string which may contain some
of the following functions:
\D date in format dateformat
\d day
\m month
\y year (yy)
\Y year (yyyy)
\p page number
\t total number of pages
-->
<!ELEMENT special EMPTY>
<!ATTLIST special
text CDATA #REQUIRED
x NMTOKEN #REQUIRED
y NMTOKEN #REQUIRED
width NMTOKEN #REQUIRED
height NMTOKEN #REQUIRED
bgcolor NMTOKENS #IMPLIED
fgcolor NMTOKENS #IMPLIED
bordercolor NMTOKENS #IMPLIED
borderwidth NMTOKEN #IMPLIED
borderstyle (%linestyle;) #IMPLIED
fontfamily NMTOKEN #IMPLIED
fontsize NMTOKEN #IMPLIED
fontweight (%fontweight;) #IMPLIED
fontitalic (yes|no) #IMPLIED
halignment (%halignment;) #IMPLIED
valignment (%halignment;) #IMPLIED
wordwrap (yes|no) #IMPLIED
dateformat CDATA #IMPLIED
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]