# <TableOptions>

The TableOptions element specifies options for handling tables. These options require version 3.1 or later of iSiloX and iSiloXC.

## Full element example

        <TableOptions>
          <IgnoreTables             value="no"/>
          <AddSeparators            value="no"/>
          <UseMinimumDepth          value="no"/>
          <MinimumDepth             value="1"/>
          <UseMaximumBottomReach    value="no"/>
          <MaximumBottomReach       value="1"/>
          <UnfoldFullPageTables     value="no"/>
          <IgnorePixelWidths        value="no"/>
        </TableOptions>

## Sub-element summary

Tag | Type | Default | Description
--- | --- | --- | ---
`<IgnoreTables>` | value | no | Whether to ignore table formatting
`<AddSeparators>` | value | no | Whether to add horizontal borders separating cells This option requires version 3.15 or later of iSiloX and iSiloXC.
`<UseMinimumDepth>` | value | no | Whether to only include tables at a minimum depth
`<MinimumDepth>` | value | 1 | Minimum depth of tables to include
`<UseMaximumBottomReach>` | value | no | Whether to only include innermost tables
`<MaximumBottomReach>` | value | 1 | Maximum innermost table level to include
`<UnfoldFullPageTables>` | value | no | Whether to unfold full-page top-level tables
`<IgnorePixelWidths>` | value | no | Whether to table pixel width specifications

## Sub-element descriptions

### <IgnoreTables>

Description
Set the value attribute of the tag to `yes` to exclude all table formatting data. The rows and cells of all tables unfold so that the content of each cell outputs to a new line.

Set the value attribute of the tag to `no` to enable table formatting.

Examples
This example specifies that table formatting should be ignored.

      <IgnoreTables             value="no"/>

This example specifies that table formatting should be included.

      <IgnoreTables             value="yes"/>

### <AddSeparators>

Description
Set the value attribute of the tag to `yes` to add horizontal borders separating table cells when ignoring table formatting as specified by the <IgnoreTables> element. This option does nothing if table formatting is not ignored. Otherwise, if set to yes, thick horizontal borders are added at the top and bottom of the table, medium borders are added between rows, and thin borders are added between cells so that you can more easily see where one cell ends and another begins.

Set the value attribute of the tag to `no` to not add horizontal borders between cells when ignoring table formatting.

Examples
This example specifies that separators should not be added between table cells.

      <AddSeparators            value="no"/>

This example specifies that separators should be added between table cells.

      <AddSeparators            value="yes"/>

### <UseMinimumDepth>
<MinimumDepth>

Description
Set the value attribute of the <UseMinimumDepth> tag to `yes` to include only tables at a minimum depth as specified by the value attribute of the <MinimumDepth> tag. Set the value attribute of the <UseMinimumDepth> tag to `no` to not exclude tables based on a minimum depth.

A table not embedded in any other table (e.g., an outermost table) is also called a top-level table and is considered to be at a depth of zero. Each additional embedding level adds one to a table's depth. Formatting for tables at levels less than the minimum depth will be excluded.

This option is particularly useful for the case where the outermost set of tables up to a given depth are used only for layout.

Examples
The following shows a top-level table (Table A) with embedded tables. Tables B and C are embedded within Table A, while Table D, at a depth of two, is embedded within Table C.

Table A (depth: 0)
Table B (depth: 1)
B1 | B2
Table C (depth: 1)
Table D (depth: 2)
D1 | D2
| C2

If you specify a minimum depth of one for converting the above table, the result will look like what is shown here below. Notice that the content of the outermost table is no longer formatted in tabular format.

      <UseMinimumDepth          value="yes"/>
      <MinimumDepth             value="1"/>

Table A (depth: 0)

Table B (depth: 1)
B1 | B2

Table C (depth: 1)
Table D (depth: 2)
D1 | D2
| C2

This example specifies no table exclusions based on minimum depth.

      <UseMinimumDepth          value="no"/>

### <UseMaximumBottomReach>
<MaximumBottomReach>

Description
Set the value attribute of the <UseMaximumBottomReach> tag to `yes` to only include table formatting for the given number of innermost levels of tables as specified by the value attribute of the <MaximumBottomReach> tag. Set the value attribute of the <UseMaximumBottomReach> tag to `no` to not exclude tables based on innermost table level.

One use for this option is in the case where it is only important for the innermost tables to be displayed in tabular format.

Examples
The following shows a top-level table (Table A) with embedded tables. Tables B and C are embedded within Table A, while Table D, at a depth of two, is embedded within Table C.

Table A (depth: 0)
Table B (depth: 1)
B1 | B2
Table C (depth: 1)
Table D (depth: 2)
D1 | D2
| C2

If you specify a reachable depth of one for converting the above table, the result will look like what is shown here below. Notice that only Tables B and D retain their tabular formatting.

      <UseMaximumBottomReach    value="yes"/>
      <MaximumBottomReach       value="1"/>

Table A (depth: 0)

Table B (depth: 1)
B1 | B2

Table C (depth: 1)

Table D (depth: 2)
D1 | D2

C2

This example specifies no table exclusions based on innermost level.

      <UseMaximumBottomReach    value="no"/>

### <UnfoldFullPageTables>

Description
Set the value attribute of the tag to `yes` to enable automatic determination of whether or not a given table is a full-page top-level table, and if so, to exclude its formatting information. A full-page top-level table is an outermost table that occupies the entire page. Set the value attribute of the tag to `no` to disable this check.

Oftentimes, when a top-level table occupies the entire page, the tabular formatting is used only for layout. Furthermore, in such cases, the layout is oftentimes meant for display on suitably large screens. When such content is viewed on a smaller screen, it usually results in the need for frequent horizontal scrolling. The option to unfold full-page top-level tables can be used to help address the issue.

Examples
This example specifies that full-page top-level table formatting should be ignored.

      <UnfoldFullPageTables     value="yes"/>

This example specifies no checking for full-page top-level tables.

      <UnfoldFullPageTables     value="no"/>

### <IgnorePixelWidths>

Description
Set the value attribute of the tag to `yes` to disregard any widths specified in pixels for tables. Set the value attribute of the tag to `no` to respect any specified pixel widths. Usually, when a table has pixel widths specified, it was designed for display on a screen of a certain size. For smaller screens, such pixel width specifications often result in the need to scroll horizontally to view the content.

Examples
This example specifies that table pixel widths should be ignored.

      <IgnorePixelWidths        value="yes"/>

This example specifies that table pixel widths should be respected.

      <IgnorePixelWidths        value="no"/>

©1999-2017 DC & Co. All rights reserved.