Next: 5  Package paragraph Up: RichDoc Framework XML Format Specification Previous: 3  Package style


4 Package block

Class block

This is class of elements that may be used wherever block elements are expected, such as paragraphs, lists or tables. There is no assumption about children of this element.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef?

Class blockContainer

This class prescribes that children of this element are of class block, that is paragraphs, lists, tables etc. There is no assumption about the parent of this element, that is, it may be used in various contexts. Examples of direct subclasses are list items or table cells, which may contain block material, but themselves must be used within special contexts (lists or table rows).

Content: block*

Class blockParent

Element that is both block and blockContainer.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? block*

Element page

Generic block element, something like HTML's div element. It may be used e.g. to create variants using the class mechanism.

Parents: box linDim blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? block*

Element section

Document section. Sections define hierarchical structure of a document. Note that parent of a section may be only another section, or the document, which is parent of the root section. There may be only one root section. Note that if this section has subsections, they must be the last block children.

Parents: document section note

Attributes: showInToc hasNumber class id userId language

Content: style? indexEntryRef? explicitTitle? title? block* section*

Element floating

A LaTeX-like floating block. It has two primary functions:

  1. To provide title and number to the enclosed material, which is mostly a table or a figure.
  2. To declare the floating status, that is, to ensure that the whole block is moved to the next page if necessary during the page breaking algorithm.

Note that this element is expected to contain exactly two block children: the title (which must be always the first child, even if it is displayed below the second child), and the actual contained material. The contained material, however, may be a page containing more elements, e.g. a sequence of paragraphs.

The type of the floating is usually indicated by the class attribute, which is usually table or figure. This information is used to correctly update the table and figure counters.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? title block

Element p(block)

This is block element representing regular document paragraphs.

Parents: blockContainer

Attributes: class id userId language

Mixed Content: style? indexEntryRef? (inline | paragraphFragment)*

Element pre

A variant of paragraph that preserves white spaces, and is usually (not necessarily) associated with fixed width font. Note that in RichDoc framework, unlike HTML, even regular paragraph p preserves whitespace.

Parents: blockContainer

Attributes: class id userId language

Mixed Content: style? indexEntryRef? (inline | paragraphFragment)*

Element hr

Horizontal rule.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef?

Element toc

Table of contents page. This element has no children, it is only placeholder for the table of contents material. The table of contents is constructed dynamically when document is built from XML source, and is not written back to the XML.

Parents: blockContainer

Attributes: level hasNumber class id userId language

Content: style? indexEntryRef?

Element indexPage

Index page. This element has no children, it is only placeholder for the index material. The index is constructed dynamically when document is built from XML source, and is not written back to the XML.

Parents: blockContainer

Attributes: hasNumber class id userId language

Content: style? indexEntryRef?

Element bibPage

Bibliography page. This element has no children, it is only placeholder for the bibliography material. The bibliography is constructed dynamically when document is built from XML source, and is not written back to the XML.

Parents: blockContainer

Attributes: hasNumber class id userId language

Content: style? indexEntryRef?

Element glossaryPage

Glossary page. This element has no children, it is only placeholder for the glossary material. The glossary is constructed dynamically when document is built from XML source, and is not written back to the XML.

Parents: blockContainer

Attributes: hasNumber class id userId language

Content: style? indexEntryRef?

Element group(block)

A group block element. It is used to group together several displayedMath equations, to provide single major number and sequential minor numbers.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? block*

Element sideways

Special block element that rotates its content 90 degrees counter-clockwise. Note that it provides no wrapping mechanism, so the contained material gets maximum possible width. It is useful for example for table row headings.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? block*

Element title

A paragraph that is considered a title of the enclosing titled element. It is displayed as normal paragraph (perhaps with special style), and besides is used for various bookkeeping operations, such as building table of contents or list of figures. Note that the enclosing element may have at most one title child, which must be the first block element.

Parents: titled node

Attributes: class id userId language

Mixed Content: style? indexEntryRef? (inline | paragraphFragment)*

Element table

A table. It has very similar semantics to HTML tables, i.e. it contains cells in td(array) elements, which are organized in rows in tr(table) elements. The cells may span rows and/or columns. Note that unlike HTML, there is a requirement that the table structure is consistent. The following requirements must be fulfilled:

  1. The cell structure must have rectangular shape.
  2. The cells must not overlap.
  3. At least one cell must start in each row and in each column.

Figure 1 shows examples of violations of these rules.

[picture]
[end of picture]

Figure 1 Violations of Table Structure Requirements

Parents: tabBox blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? tr(table)+

Class tr

Definition of a row of a table or array. It is a list of cells (td elements) that start in this row, but may span also to rows below this row.

Attributes: class id userId language

Content: style? indexEntryRef?

Element tr(table)

A table row (tr).

Parents: table

Attributes: class id userId language

Content: style? indexEntryRef? td(table)+

Class td

Definition of table or array cell. The cell may span several columns or rows, as defined by the colspan and rowspan attributes.

Attributes: rowspan colspan class id userId language

Content: style? indexEntryRef?

Element td(table)

A table cell (td).

Parents: tr(table)

Attributes: horizontalAlignment verticalAlignment valign fill rowspan colspan class id userId language

Content: style? indexEntryRef? block*

Class list

Different types of lists, that are used to contain items defined in li elements.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? li+

Element ul

Unordered list, which marks its items with equal symbols.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? li+

Element ol

Ordered list, which marks its items by a sequence of symbols, such as Arabic numbers, Roman numbers, letters of Latin or Greek alphabet, etc.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? li+

Element todo

List that marks its items with checked or unchecked boxes.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? li+

Element li

An item of ordered, unordered or todo list. The checked status of todo list item is usually indicated by setting the class to done.

Parents: list

Attributes: class id userId language

Content: style? indexEntryRef? block*

Element dl

A HTML-like definition list. It consist of series of definition terms defined using dt element, and definition descriptions, defined using dd element. Although in most cases these two elements alternate, there is no such requirement; you may, for example, use two terms followed by single definition.

Parents: blockContainer

Attributes: class id userId language

Content: style? indexEntryRef? (dt | dd)+

Element dt

Term item of a definition list defined using the dl element. It is of type paragraph, so it may contain inline elements.

Parents: dl

Attributes: class id userId language

Mixed Content: style? indexEntryRef? (inline | paragraphFragment)*

Element dd

Description item of definition list. It may contain block material.

Parents: dl

Attributes: class id userId language

Content: style? indexEntryRef? block*

Attribute showInToc

This attribute may be used to prevent section showing in table of contents. By default, all sections show in the table of contents.

Attribute rowspan

Specifies how many rows are occupied by enclosing td cell. The default is 1.

Attribute colspan

Specifies how many columns are occupied by enclosing td cell. The default is 1.

Attribute fill

Specifies the weight of this cell when a group of cells should be enlarged. Assume that cells c1 , c2 , ... , cn have total width W, and we want them to have them some larger width W + Δ. In such case, the width of each cell is enlarged by the amount of [inline math], where ωi is the fill weight of the i–th cell, and [inline math]. If all cells have zero weight, i.e. Ω = 0, we assume that ωi = 1 for each i. The default value of this attribute is 0.

The need for enlargement occurs for example when we force full width of the table, or if we have group of cells that are in column with column-spanning cell requiring more room.


Next: 5  Package paragraph Up: RichDoc Framework XML Format Specification Previous: 3  Package style