docbook: Table placement on page


Previous by date: 5 Nov 2002 22:50:19 -0000 Re: Table placement on page, John R. Daily
Next by date: 5 Nov 2002 22:50:19 -0000 Re: Table placement on page, Charles Curley
Previous in thread: 5 Nov 2002 22:50:19 -0000 Re: Table placement on page, John R. Daily
Next in thread: 5 Nov 2002 22:50:19 -0000 Re: Table placement on page, Charles Curley

Subject: Re: Table placement on page
From: Charles Curley ####@####.####
Date: 5 Nov 2002 22:50:19 -0000
Message-Id: <20021105154931.A8062@trib.com>

On Tue, Nov 05, 2002 at 01:15:51PM -0800, Tabatha Persad wrote:
> On Tue, 2002-11-05 at 12:42, Charles Curley wrote:
> > I am using Docbook 4.1 (SGML), the LDP style (ldp.dsl), and Open Jade
> > 1.3. I have a table which is currently showing up at the top of the
> > page where it is defined. The table stays at the top of the page
> > regardless of where on the page the definition is found. I would like
> > the table to show up in or near the paragraph where it is defined.
> > 
> > If I understand the DocBook Guide, the attribute pgwide="0" should do
> > that. Am I correct?
> 
> Hi Charles.
> 
> Actually, I'm not sure the pgwide attribute is what you need.  It seems
> to only deal with the width for the table.  According to the definition
> of pgwide at www.oasis-open.org/specs/a502.htm (definition of CALS model
> table), "If zero, the maximum available width for the table is the width
> of the current column of the orient="port" page." 
> (orientation=portrait).  "If a specified value other than zero, the
> table spans the width of the entire page."  The attribute is ignored
> when orientation is landscape, where all tables are treated as if
> pgwide="1".  It seems that the orientation of the table may have
> something to do with this, though I'm not completely sure.  

I think it means that in a multi-column page the table will be the
full width of the page if pgwide is true. Otherwise it will be fit
into one column.

I conjecture that the reference to landscape refers to the orientation
attribute for the table, "orient", not for the document. I can't see
disallowing full width tables in a landscape document, but if the
table is rotated 90 degrees to the body of the document, then column
width becomes meaningless.



> 
> Now that quote above was a bit difficult to understand, so I apologize! 
> I looked at your example, and can see quite clearly where the table
> should be displayed.  I noticed that one of the attributes of the tfoot
> tag is valign, and I wondering if there was something more to that
> elsewhere too.
> 
> Would you mind if I glanced at that section of the source for this spot
> in your document?  I'd like to see if I can figure it out.  That link I
> sent to you above describes the CALS Table Model in detail, and may be
> of extra help if you want to have a look into it yourself.
> 
> I love a good mystery!  Seeing the actual source will help me make more
> sense out of it all.

My apologies; I should have included it.

    <table frame="all" tocentry="1" pgwide="0" id="project.schedule">
      <title>Project Schedule</title>
      <tgroup cols="3" colsep="1" rowsep="1" align="left">
	<thead>
	  <row>


In any case, I think John R. Daily has the solution. More on that in
my reply to him.

-- 

Charles Curley                  /"\    ASCII Ribbon Campaign
Looking for fine software       \ /    Respect for open standards
and/or writing?                  X     No HTML/RTF in email
http://w3.trib.com/~ccurley     / \    No M$ Word docs in email

Key fingerprint = CE5C 6645 A45A 64E4 94C0  809C FFF6 4C48 4ECD DFDB

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Mon Apr 29 05:28:27 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/main.py in main()
  424 
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x8da5c6c>
 /opt/ezmlm-browse-0.20/main.py in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  380         module.do(ctxt)
  381 
  382 def main():
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x8da81b4>, global ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'})
   18         write(html('msg-pager') % ctxt)
   19         write('<hr>')
   20         sub_showmsg(ctxt, ctxt[MSGNUM])
   21         write('<hr>')
   22         write(html('msg-pager') % ctxt)
global sub_showmsg = <function sub_showmsg at 0x8da51ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, msgnum=312)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x8da51b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, msg = <email.message.Message instance at 0x8e01d8c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part=<email.message.Message instance at 0x8e01d8c>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x8da51b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, p = <email.message.Message instance at 0x8e0b14c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part=<email.message.Message instance at 0x8e0b14c>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
  212 
global sub_showpart = <function sub_showpart at 0x8da5144>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part = <email.message.Message instance at 0x8e0b14c>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...harset': 'utf-8', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part=<email.message.Message instance at 0x8e0b14c>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x8d9de9c>, global html = <function html at 0x8d9ded4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x8e09020>
 /opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature')
   40 
   41 def html(name):
   42         return template(name + '.html')
   43 
   44 def xml(name):
global template = <function template at 0x8d9de9c>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f = _template_zipfile.open(n).read()
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x8d36a4c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x8db2acc>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x8db2acc>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'