#217 Add a frame attribute to entrytbl element

v5.0
closed-rejected
DocBook (176)
5
2007-03-23
2007-01-02
No

Since an entrytbl is "A subtable appearing in place of an Entry in a table",
it should have a frame attribute to override the one from the (ancestor::db:table|ancestor::db:informaltable).
This would support commercial publishing or allow mapping between other table implementation than CALS...

Discussion

  • Norman Walsh

    Norman Walsh - 2007-01-04

    Logged In: YES
    user_id=81663
    Originator: NO

    The CALS table model supports some variation (for example, the content of
    entry), but I'm not sure that adding frame to entrytbl would be a conformant variation.

     
  • Robert Stayton

    Robert Stayton - 2007-02-15

    Logged In: YES
    user_id=193218
    Originator: NO

    DocBook tries to conform to the CALS table model specification. While the CALS table model does not permit a frame attribute on entrytbl, it does permit a tgroupstyle attribute. You could define a style value for that attribute and customize a stylesheet to generate a frame for an entrytbl element.

    Would this workaround be sufficient?

     
  • Vito Piserchia

    Vito Piserchia - 2007-02-19

    Logged In: YES
    user_id=1681618
    Originator: YES

    Thank you for the suggestion.

    I'm trying to map LaTeX table float environment
    to CALS table model which is used in docbook.
    By now, i have found a lot of similarities
    but also some differences and limitations

    -SIM.:
    floating instruction have a direct mapping into db xml with @floatstyle attribute

    LaTeX code
    \begin{table}[hbt]
    ...
    \end{table}
    DB5 xml:
    <table floatstyle="hbt">
    ...
    </table>
    -SIM.:
    multicolumn have a direct mapping into db with db:entrytbl elements and db:spanspec mechanism

    LaTeX code:
    ... & \multicolumn{4}{c}{something} &... \\ DB5 xml:
    ....
    <spanspec spanname="span_2-4" namest="2" nameend="4"/>
    <entrytbl spanname="span_2-4" cols="1">
    <colspec colname="1" colnum="1" align="center" colwidth="*" rowsep="0" colsep="0"/>
    <tbody>
    <row>
    <entry colname="1">something</entry>
    </row>
    </tbody>
    </entrytbl>
    -SIM.:
    multirow have a direct mapping through @morerows attribute

    LaTeX code:
    ... & \multirow{3}{34pt}{something} & ...
    DB5 xml:
    ...
    <entrytbl cols="1">
    <colspec colwidth="34pt" colname="1.1" colnum="1" rowsep="0" colsep="0"/>
    <tbody>
    <row>
    <entry morerows="3" colname="1.1">something</entry>
    </row>
    </tbody>
    </entrytbl>
    ...
    -DIF.:
    in LaTeX such type of column, i call them "fake columns", are permitted

    LaTeX code:
    ...& \multirow{3}{34pt}{something1} something2 &...
    in my DB5 xml implementation:
    <entrytbl cols="1">
    <colspec colwidth="34pt" colname="1.1" colnum="1" rowsep="0" colsep="0"/>
    <colspec colnum="2" colwidth="*" rowsep="0" colsep="0" colname="2"/>
    <tbody>
    <row>
    <entry morerows="3" colname="1.1">something1</entry><!-- This is my fake column -->
    <entry colname="2">something2</entry>
    </row>
    </tbody>
    </entrytbl>

    -Limitations:

    - specify a column separator, for the left side of the first column, is not permitted...

    LaTeX code:
    \begin{table}{|ccc}
    DB5 xml: actually i map this into an application specific model
    My implementations:
    1)using @frame
    <table cols="3" align="center" frame="left">
    .. but @frame must be one of : 'sides'|'top'|'bottom'|'topbot'|'none'
    2) using colnum="0"
    <table cols="3" align="center" frame="none">
    <colspec colnum="0" colsep="1" /> ...
    ... but from CALS specs: "COLNUM: Number of column, counting from 1 at left of the table..."
    3) using a column with a "reserved" name
    <table cols="3" align="center" frame="none">
    <colspec colname="#left" colsep="1" /> ...
    ... this is valid and application specific...(at the moment i'm using this form)

    - LaTeX \extracolsep control sequence have no mappings and i'm using special pis:
    \begin{tabular}{@{\extracolsep{60pt}}lll}

    my implementation in DB5:
    <tgroup align="center" cols="3" tgroupstyle="tabular">
    <?latex expr="@" colnum="#left" value="{\extracolsep{60pt}}"?>
    <colspec colnum="1" align="left" colwidth="*" rowsep="0" colsep="0" colname="1"/>
    <colspec colnum="2" align="left" colwidth="*" rowsep="0" colsep="0" colname="2"/>
    <colspec colnum="3" align="left" colwidth="*" rowsep="0" colsep="1" colname="3"/>
    ...

    - specify a multiple column separator is not permitted

    LaTeX code:
    \begin{table}{c||cc}
    DB5:
    this seems a limitation of the schema and not of the CALS model itself.
    In the OASIS specs:
    "COLSEP: Default for all <tgroup>s in this <table>.
    If a number other than zero, display the internal column rulings
    to the right of each <entry> or <entrytbl>"; could it be a RFE?

    In this comment i investigate the differences and similarities
    between LaTeX and CALS tables, and i propose some workarounds.

    Any comment is appreciated...

     
  • Robert Stayton

    Robert Stayton - 2007-02-21

    Logged In: YES
    user_id=193218
    Originator: NO

    As far as I understand your comparison of DocBook and Latex, it seems that the only issues are regarding colsep. The colsep attribute in DocBook is CDATA, and Cals only specifies that happens to it when the value is "0". You could use other values besides "1" in colsep, and then customize a stylesheet to render your table.

     
  • Vito Piserchia

    Vito Piserchia - 2007-02-21

    Logged In: YES
    user_id=1681618
    Originator: YES

    Probably my last comment, on DocBook and LaTeX,
    was a little OT and i apologize for that.
    My only purpose was to emphasize how much
    the limitations of the choosen CALS model impact
    on the choice of DocBook in a publishing
    environment.
    After that, i have searched in the db5RC1 schema
    and i have found this:
    db.colsep.attribute =
    ## Specifies the presence or absence of the column separator
    attribute colsep {
    ## No column separator rule.
    "0"
    |
    ## Provide a column separator rule on the right
    "1"
    }
    All the elements with a &yesorno;-like content model
    present the same behavior.
    Perhaps it should be an xs:nonNegativeInteger.

     
  • Norman Walsh

    Norman Walsh - 2007-03-23

    Logged In: YES
    user_id=81663
    Originator: NO

    The DocBook TC is reluctant to make changes to the CALS table model. The CALS model was adopted in order to achieve interoperability with other CALS implementations. Extending our CALS implementation would break that interoperability. In our opinion, the tgroupstyle attribute provides a workaround for this problem.

     
  • Norman Walsh

    Norman Walsh - 2007-03-23
    • status: open --> closed-rejected
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks