Antw: Re: Some ideas about report



>>> Carlos Perello Marin <carlos hispalinux es> 20.09.2000  22.55 Uhr >>>
>...
> Please send me the new DTD (developed from the CVS one, please) and I
> will prepare the definitive IDL.

I attached the new gda-report.dtd. I made one new extension:
a 'reportstyle' attribute, that can have the values "list" or "form"

I also have some questions to the changes you made:

- what is a 'lineheight'?

- where are the queries? 

- you replaced the 'reportdata' by 'datalist', that is a list of 'reportdata'. But then the meaning of
  dataheader/datafooter is no longer obvious, because it was intended to be a (virtual) group,
  that contains all the data. Now we have a list of datasections, so the question is:
  -- Should we have a dataheader/footer for each element of the list
  -- or a dataheader/footer for the whole list
  -- or both?


Gerhard


<!-- gda-report.dtd
     Copyright (C) 2000 Carlos Perello Marin
                        Gerhard Dieringer

     Based on the Mutiny Bay Software's
     reportviewer's DTD (http://www.mutinybaysoftware.com)
-->

<!ENTITY % query SYSTEM "@dtddir@/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?, pageheaderlist?, dataheader?,  datalist?, 
                  datafooter?,   pagefooterlist?, reportfooter?)>
<!ATTLIST report
  reportstyle     (form|list)       "list"
  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           "0.05"
  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           "0.05"
  linecolor       NMTOKENS          "0 0 0"
  linestyle       (%linestyle;)     "solid"
>

<!ELEMENT reportelementlist   (%reportelement;)+>

<!ELEMENT reportheader (reportelementlist)>
<!ATTLIST reportheader 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  newpage         (yes|no)          "no"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT reportfooter (reportelementlist)>
<!ATTLIST reportfooter 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  newpage         (yes|no)          "no"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>

<!-- 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 pageheaderlist (pageheader+)>

<!ELEMENT pageheader (reportelementlist)>
<!ATTLIST pageheader 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  positionfreq   (%positionfreq;)   "all"
  pagefreq       (%pagefreq;)       "all"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT pagefooterlist (pagefooter+)>

<!ELEMENT pagefooter (reportelementlist)>
<!ATTLIST pagefooter 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  positionfreq   (%positionfreq;)   "all"
  pagefreq       (%pagefreq;)       "all"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!-- the dataheader/-footer ist like a groupheader/-footer for a virtuell group,
     that contains all the data
-->
<!ELEMENT dataheader (reportelementlist)>
<!ATTLIST dataheader 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT datafooter (reportelementlist)>
<!ATTLIST datafooter 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT datalist (reportdata+)>

<!ELEMENT reportdata (detail|(groupheader?,reportdata,groupfooter?))>


<!ELEMENT detail (reportelementlist)>
<!ATTLIST detail 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT groupheader (reportelementlist)>
<!ATTLIST groupheader 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height          NMTOKEN           "2.0"
  newpage         (yes|no)          "no"
  groupvar        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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT groupfooter (reportelementlist)>
<!ATTLIST groupfooter 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  height        NMTOKEN             "2.0"
  newpage       (yes|no)            "no"
  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
  negvaluecolor   NMTOKENS          #IMPLIED
  dateformat      CDATA             #IMPLIED
  precision       NMTOKEN           #IMPLIED
  currency        CDATA             #IMPLIED
  commaseparator  (yes|no)          #IMPLIED
  linewidth       NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT picture EMPTY>
<!ATTLIST picture 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  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 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  x1              NMTOKEN           #REQUIRED
  y1              NMTOKEN           #REQUIRED
  x2              NMTOKEN           #REQUIRED
  y2              NMTOKEN           #REQUIRED
  linewidth       NMTOKEN           #IMPLIED
  lineheight      NMTOKEN           #IMPLIED
  linecolor       NMTOKENS          #IMPLIED
  linestyle       (%linestyle;)     #IMPLIED
>


<!ELEMENT label EMPTY>
<!ATTLIST label 
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  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
  active          (yes|no)          "yes"
  visible         (yes|no)          "yes"
  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
  active          (yes|no)            "yes"
  visible         (yes|no)            "yes"
  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]