OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [docbook] informaltable inside table

Let's be clear.  CALS does not prohibit nesting of tables entirely.  CALS permits a 
nested table using the entrytbl element [1].  Its main limitation seems to be that 
entrytbl cannot span more than one row, although it can span more than one column.  I 
don't know why it is restricted to a single row, though. Harvey Bingham wrote a 
history of CALS [2] that you might enjoy reading.

I know of no effort to update the CALS standard.  At this point I think OASIS de facto 
owns the CALS standard and they don't have an active committee on the subject.  Their 
last effort was in 1995 [3].

DocBook has allowed full nested tables since version 4.3, when HTML table markup was 
added. You can put a table inside a <td> element in DocBook's HTML table markup. And 
there are no restrictions on row or column spans.  And, no, you cannot mix CALS table 
and HTML table elements in the same table.  8^)

[1] http://docbook.org/tdg/en/html/entrytbl.html
[2] http://users.rcn.com/hwbingham/tables/calstbhs.htm
[3] http://www.oasis-open.org/specs/tm9502.html

Bob Stayton
Sagehill Enterprises

----- Original Message ----- 
From: <Cavicchio_Rob@emc.com>
To: <bobs@sagehill.net>; <maxwell@umiacs.umd.edu>; <docbook@lists.oasis-open.org>
Sent: Friday, March 05, 2010 10:34 AM
Subject: RE: [docbook] informaltable inside table

> Does anyone happen to know why the arbitrary nesting of tables is prohibited, or if 
> any updates to the CALS standard are under consideration on this topic? I don't 
> really understand the original motivations behind the standard, but not being able 
> to nest tables seems pretty restrictive.
> -----Original Message-----
> From: Bob Stayton [mailto:bobs@sagehill.net]
> Sent: Tuesday, March 02, 2010 3:51 PM
> To: maxwell; docbook@lists.oasis-open.org
> Subject: Re: [docbook] informaltable inside table
> Hi,
> I consulted with the DocBook Technical Committee, and found that it is a bug that
> table is allowed in entry elements.  Allowing table violates the Cals table standard
> that DocBook adheres to.  This will be corrected in the next release of the DocBook
> schema.
> The only solution I have is to use HTML table markup instead of Cals table markup. 
> The
> <td> element permits table or informaltable children.
> Bob Stayton
> Sagehill Enterprises
> bobs@sagehill.net
> ----- Original Message ----- 
> From: "maxwell" <maxwell@umiacs.umd.edu>
> To: <docbook@lists.oasis-open.org>
> Sent: Friday, February 26, 2010 7:28 AM
> Subject: [docbook] informaltable inside table
> We're using DocBook 5 to write grammars, and one of the constructs we use
> a lot is tables.  These are mostly used to display paradigms, and
> frequently a cell in a paradigm needs to display several kinds of
> information.  An example cell might look like this:
>   ko'tan   k-o'tan
>            my-heart
> (Actually, the grammar we're using now has an Arabic script form on the
> left and its romanized form on the right, but I don't trust email to
> transmit that correctly.)  Some cells are more complex, but the general
> point is that because we want things to line up vertically (and other
> alignment issues), the obvious solution is to use some kind of a table
> inside these table cells.
> The most obvious solution would be to make the cells be <entrytbl>s
> instead of <entry>s.  That didn't work, because in some cases we need to
> have paradigm cells span columns and/or rows.  (This happens when a single
> form in a language has more than one use in the language.  An example would
> be standard Spanish, where a present tense verb ending in -an or -en is
> used for both second and third person plural.)  While <entrytbl>s can span
> columns, the DocBook standard (and the CALS standard on which it is based)
> doesn't allow them to span rows.
> So the next solution would be to put a <table> or an <informaltable>
> inside an <entry>, thus:
>   <table>
>     ...
>       <entry>
>          <table>...</table>
>       </entry>
>   </table>
> This is perfectly possible, but it forces us to put a <title> in the inner
> <table>, which we don't want.  We do want <title>s on the outer table, so I
> thought this would work:
>   <table>
>     ...
>       <entry>
>          <informaltable>...</informaltable>
>       </entry>
>   </table>
> Unfortunately, DocBook forbids this: "informaltable must not occur in the
> descendants of table." That comes from
> http://www.docbook.org/tdg5/en/html/cals.table.html; there is also a
> schematron rule enforcing this at
> http://www.docbook.org/xml/5.0/sch/docbook.sch:
>   <s:rule context="db:table">
>     ...
>     <s:assert test="not(.//db:informaltable)">
>     informaltable must not occur in the descendants of table
>     </s:assert>
>     ...
>   </s:rule>
> What is the reason for preventing <informaltable>s from appearing as a
> descendant of <table>?  This limitation doesn't appear to come from the
> CALS standard, which does not (AFAICT) define <informaltable>.  It seems to
> make good sense (to me!) to allow tables without titles inside of tables
> with titles; in fact, I can't think of a situation where I would want a
> <table> with a <title> to be embedded inside another <table>.
> In sum, as long as a <table> can be embedded inside an <entry>, I think it
> should be possible to embed an <informaltable> there too.  I'm posting here
> first in case there's some good reason that I can't think of for not
> allowing this; I'll submit an RFE later, if I don't get push back.
>   Mike Maxwell
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: docbook-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-help@lists.oasis-open.org

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]