Can tables be nested within other tables in DITA XML?

Nesting tables within other tables in DITA XML is a technique that provides flexibility when structuring complex content that requires multiple levels of tabular data. This approach allows you to create more advanced layouts for your documentation. Let’s explore the concept of nesting tables within DITA XML.

Table Nesting

In DITA XML, you can nest tables by placing one table within the cell of another table. This nesting can be useful when you need to present data that consists of a primary table and related secondary tables. For example, you might have a primary table displaying product categories, and within each category cell, you can nest secondary tables containing detailed product information. This approach helps maintain a structured layout while providing in-depth data.

Example:

Here’s an example of how you can nest tables within DITA XML:


<table>
  <tgroup cols="2">
    <colspec colname="col1" colwidth="40%" />
    <colspec colname="col2" colwidth="60%" />
    <tbody>
      <row>
        <entry>Category</entry>
        <entry>Products</entry>
      </row>
      <row>
        <entry>Electronics</entry>
        <entry>
          <table>
            <tgroup cols="2">
              <colspec colname="col1" colwidth="60%" />
              <colspec colname="col2" colwidth="40%" />
              <tbody>
                <row>
                  <entry>Product</entry>
                  <entry>Price</entry>
                </row>
                <row>
                  <entry>Laptop</entry>
                  <entry>$999.99</entry>
                </row>
              </tbody>
            </tgroup>
          </table>
        </entry>
      </row>
    </tbody>
  </tgroup>

In this example, there’s a primary table with two columns: Category and Products. Within the Products column, a secondary table is nested to display detailed product information. This demonstrates how tables can be nested within DITA XML to achieve more complex and structured layouts.