view etc/schema/xhtml-btable.rnc @ 107594:40b49fa464cf

Retrospective commit from 2009-10-04. Continue working on determining paragraph's base direction. bidi.c (bidi_at_paragraph_end): Check for paragraph-start if paragraph-separate failed to match. Return the length of the matched separator. (bidi_line_init): New function. (bidi_paragraph_init): Use bidi_line_init. Do nothing if in the middle of a paragraph-separate sequence. Don't override existing paragraph direction if no strong characters found in this paragraph. Set separator_limit according to what bidi_at_paragraph_end returns. Reset new_paragraph flag when a new paragraph is found. (bidi_init_it): Reset separator_limit. dispextern.h (struct bidi_it): New member separator_limit. bidi.c (bidi_find_paragraph_start): Return the byte position of the paragraph beginning. xdisp.c (set_iterator_to_next): Call bidi_paragraph_init if the new_paragraph flag is set in the bidi iterator. bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): Use the buffer-local value of paragraph-start and paragraph-separate.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 01 Jan 2010 06:17:13 -0500
parents 309bef8b751c
children
line wrap: on
line source

# Basic Tables Module

table = element table { table.attlist, caption?, tr+ }
table.attlist =
  Common.attrib,
  attribute summary { Text.datatype }?
caption = element caption { caption.attlist, Inline.model }
caption.attlist = Common.attrib
tr = element tr { tr.attlist, (th | td)+ }
tr.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib
th = element th { th.attlist, Flow.model }
th.attlist = Cell.attrib
td = element td { td.attlist, Flow.model }
td.attlist = Cell.attrib
Cell.attrib =
  Common.attrib,
  attribute abbr { Text.datatype }?,
  attribute axis { text }?,
  attribute headers { IDREFS.datatype }?,
  scope.attrib,
  attribute rowspan { Number.datatype }?,
  attribute colspan { Number.datatype }?,
  CellHAlign.attrib,
  CellVAlign.attrib
CellHAlign.attrib = attribute align { "left" | "center" | "right" }?
CellVAlign.attrib = attribute valign { "top" | "middle" | "bottom" }?
scope.attrib = attribute scope { "row" | "col" }?
Block.class |= table