Skip to main content Link Search Menu Expand Document (external link)

@data-style-identifier : The Style Identification Attribute

The data-style-identifier attribute provides a unique identifier for caching and optimizing style application across repeated elements. It enables Scryber to cache computed styles for elements that share the same styling, significantly improving performance when generating PDFs with many similar elements.

Usage

The data-style-identifier attribute is used to:

  • Enable style caching for repeated elements
  • Optimize PDF generation performance
  • Reduce memory usage for large tables and lists
  • Improve rendering speed for data-bound templates
  • Share style calculations across identical elements
<!-- Without identifier - styles computed for each row -->
<template data-bind="">
    <tr>
        <td style="padding: 8pt; border: 1pt solid #ccc;"></td>
    </tr>
</template>

<!-- With identifier - styles computed once and cached -->
<template data-bind="" data-style-identifier="item-row">
    <tr>
        <td style="padding: 8pt; border: 1pt solid #ccc;"></td>
    </tr>
</template>

Supported Elements

The data-style-identifier attribute is primarily supported by:

Element Description
<template> Template element for repeated content
<tr> Table row element
<td> / <th> Table cell elements
Other repeating elements Any element that repeats with identical styling

Attribute Values

Syntax

<template data-bind="" data-style-identifier="unique-id">
    <!-- Template content -->
</template>

Value Type

Type Description Example
String Unique identifier for the style data-style-identifier="row-style"
Descriptive Meaningful name for the cached style data-style-identifier="product-item"
Namespaced Hierarchical identifier data-style-identifier="table.row.data"

Naming Recommendations

Good identifiers:

  • Descriptive: "product-row", "data-cell", "list-item"
  • Unique per style group: Different identifiers for different styling
  • Consistent: Use the same identifier for all elements with identical styling
  • Simple: Short, readable names

Avoid:

  • Non-unique IDs: Using the same ID for different styles
  • Generic names: "style1", "temp", "x"
  • Special characters: Stick to alphanumeric and hyphens/underscores

Binding Values

The data-style-identifier attribute supports static and dynamic values:

Static Identifier

<template data-bind="" data-style-identifier="product-row">
    <tr>
        <td></td>
        <td></td>
    </tr>
</template>

Dynamic Identifier

<!-- Model: { styleId: "custom-row-style" } -->
<template data-bind="" data-style-identifier="">
    <tr>
        <td></td>
    </tr>
</template>

Notes

Performance Optimization

The data-style-identifier enables significant performance improvements:

Without style identifier:

  • Each element’s styles are computed independently
  • Memory usage scales with element count
  • Processing time increases linearly

With style identifier:

  • Styles computed once and cached
  • Memory usage dramatically reduced
  • Processing time nearly constant regardless of element count

When to Use

Use data-style-identifier when:

  1. Large Datasets: Templates generating 100+ elements
  2. Complex Styling: Elements with multiple CSS properties
  3. Identical Styling: All generated elements have the same appearance
  4. Performance Critical: PDF generation time is important
  5. Memory Constrained: Large tables or lists causing memory issues

Style Cache Behavior

How style caching works:

  1. First element with the identifier is processed
  2. Computed styles are cached with the identifier as key
  3. Subsequent elements with the same identifier reuse cached styles
  4. Only applies when styling is truly identical

Cache Invalidation

The style cache is reset when:

  • A new PDF document starts generation
  • Different styling is applied (different CSS classes or inline styles)
  • The identifier changes

Combining with Other Optimizations

For maximum performance, combine with:

<template data-bind=""
          data-style-identifier="optimized-row"
          data-cache-styles="true">
    <tr>
        <td class="data-cell"></td>
    </tr>
</template>

Examples

Example 1: Basic Table Row Optimization

<!-- Large table with 1000+ rows -->
<table border="1" cellpadding="8" style="width: 100%;">
    <thead>
        <tr>
            <th>Product</th>
            <th>Quantity</th>
            <th>Price</th>
        </tr>
    </thead>
    <tbody>
        <template data-bind=""
                  data-style-identifier="product-row">
            <tr>
                <td style="padding: 8pt; border: 1pt solid #ddd;"></td>
                <td style="padding: 8pt; border: 1pt solid #ddd; text-align: center;"></td>
                <td style="padding: 8pt; border: 1pt solid #ddd; text-align: right;"></td>
            </tr>
        </template>
    </tbody>
</table>

Example 2: List Items with Shared Styling

<ul style="list-style: none; padding: 0;">
    <template data-bind=""
              data-style-identifier="list-item-style">
        <li style="padding: 10pt; border-bottom: 1pt solid #eee; margin-bottom: 5pt;">
            <strong></strong><br/>
            
        </li>
    </template>
</ul>

Example 3: Invoice Line Items

<!-- Model: { lineItems: [...] } (potentially 100+ items) -->

<table border="1" cellpadding="10" style="width: 100%;">
    <thead>
        <tr style="background-color: #336699; color: white;">
            <th>Description</th>
            <th>Qty</th>
            <th>Rate</th>
            <th>Amount</th>
        </tr>
    </thead>
    <tbody>
        <template data-bind=""
                  data-style-identifier="invoice-line">
            <tr>
                <td style="padding: 8pt; border: 1pt solid #ddd;"></td>
                <td style="padding: 8pt; border: 1pt solid #ddd; text-align: center;"></td>
                <td style="padding: 8pt; border: 1pt solid #ddd; text-align: right;">$</td>
                <td style="padding: 8pt; border: 1pt solid #ddd; text-align: right; font-weight: bold;">$</td>
            </tr>
        </template>
    </tbody>
</table>

Example 4: Data Grid with Complex Styling

<style>
    .data-row {
        padding: 8pt;
        border-bottom: 1pt solid #e0e0e0;
        font-size: 10pt;
    }
    .data-row:nth-child(even) {
        background-color: #f9f9f9;
    }
</style>

<template data-bind=""
          data-style-identifier="data-grid-row">
    <div class="data-row">
        <span style="display: inline-block; width: 20%;"></span>
        <span style="display: inline-block; width: 40%;"></span>
        <span style="display: inline-block; width: 40%;"></span>
    </div>
</template>

Example 5: Product Catalog Items

<template data-bind=""
          data-style-identifier="catalog-product">
    <div style="page-break-inside: avoid; margin-bottom: 20pt; padding: 15pt;
                border: 1pt solid #ddd; border-radius: 5pt;">
        <h3 style="margin: 0 0 10pt 0; color: #336699;"></h3>
        <p style="margin: 5pt 0; color: #666;">SKU: </p>
        <p style="margin: 10pt 0;"></p>
        <div style="font-size: 18pt; font-weight: bold; color: #336699;">
            $
        </div>
    </div>
</template>

Example 6: Multiple Identifier Groups

<!-- Different identifiers for different row types -->
<table border="1" cellpadding="8" style="width: 100%;">
    <tbody>
        <!-- Header rows -->
        <template data-bind=""
                  data-style-identifier="category-header">
            <tr style="background-color: #336699; color: white; font-weight: bold;">
                <td colspan="3"></td>
            </tr>
        </template>

        <!-- Data rows -->
        <template data-bind=""
                  data-style-identifier="data-row">
            <tr>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </template>
    </tbody>
</table>

Example 7: Nested Templates with Identifiers

<template data-bind=""
          data-style-identifier="department-section">
    <div style="margin-bottom: 30pt;">
        <h2 style="color: #336699; border-bottom: 2pt solid #336699;">
            
        </h2>

        <template data-bind=""
                  data-style-identifier="employee-row">
            <div style="padding: 8pt; border-bottom: 1pt solid #eee;">
                <strong></strong> - 
            </div>
        </template>
    </div>
</template>

Example 8: Transaction Log

<!-- Model: { transactions: [...] } (potentially thousands) -->

<h2>Transaction History</h2>

<template data-bind=""
          data-style-identifier="transaction-entry">
    <div style="padding: 10pt; border-bottom: 1pt solid #ddd; font-size: 10pt;">
        <div style="display: flex; justify-content: space-between;">
            <span><strong></strong> - </span>
            <span style="font-weight: bold; ">
                $
            </span>
        </div>
    </div>
</template>

Example 9: Report with Alternating Row Colors

<table border="1" cellpadding="10" style="width: 100%; border-collapse: collapse;">
    <thead>
        <tr style="background-color: #336699; color: white;">
            <th>Date</th>
            <th>Activity</th>
            <th>Status</th>
        </tr>
    </thead>
    <tbody>
        <template data-bind=""
                  data-style-identifier="activity-row">
            <tr style="border: 1pt solid #ddd;">
                <td style="padding: 8pt;"></td>
                <td style="padding: 8pt;"></td>
                <td style="padding: 8pt; text-align: center;">
                    <span style="padding: 4pt 8pt; border-radius: 3pt;
                                 background-color: ;">
                        
                    </span>
                </td>
            </tr>
        </template>
    </tbody>
</table>

Example 10: Performance-Critical Large Dataset

<!-- Optimized for 10,000+ records -->
<style>
    .record {
        padding: 5pt;
        border-bottom: 1pt solid #f0f0f0;
        font-size: 9pt;
    }
</style>

<template data-bind=""
          data-style-identifier="large-dataset-row"
          data-cache-styles="true">
    <div class="record">
        <span></span> |
        <span></span> |
        <span></span>
    </div>
</template>

Example 11: Customer List

<h2>Customer Directory</h2>

<template data-bind=""
          data-style-identifier="customer-card">
    <div style="padding: 15pt; margin-bottom: 10pt;
                border: 1pt solid #ddd; background-color: #f9f9f9;">
        <h3 style="margin: 0 0 5pt 0; color: #336699;"></h3>
        <p style="margin: 3pt 0;">
            <strong>Contact:</strong> <br/>
            <strong>Email:</strong> <br/>
            <strong>Phone:</strong> 
        </p>
    </div>
</template>

Example 12: Dynamic Identifier Based on Data

<!-- Model: { items: [...], useCompactStyle: true } -->

<template data-bind=""
          data-style-identifier="">
    <div style="
                border-bottom: 1pt solid #eee;">
        <h1 id="data-repeat--the-table-header-repetition-attribute">@data-repeat : The Table Header Repetition Attribute</h1>

<p>The <code class="language-plaintext highlighter-rouge">data-repeat</code> attribute controls whether table header rows (<code class="language-plaintext highlighter-rouge">&lt;thead&gt;</code>) automatically repeat at the top of each page when a table spans multiple pages in a PDF document. This is a critical feature for multi-page tables, ensuring that column headers remain visible and providing context for data on every page.</p>

<hr />

<h2 id="summary">Summary</h2>

<p>The <code class="language-plaintext highlighter-rouge">data-repeat</code> attribute enables or disables header repetition behavior for table headers, providing:</p>
<ul>
  <li><strong>Automatic header repetition</strong> across multi-page tables (enabled by default)</li>
  <li><strong>Improved readability</strong> for long tables with consistent column identification</li>
  <li><strong>Professional formatting</strong> for reports and data-heavy documents</li>
  <li><strong>Flexible control</strong> over header display behavior</li>
</ul>

<p>This attribute is essential for:</p>
<ul>
  <li>Multi-page reports with large datasets</li>
  <li>Financial statements and accounting reports</li>
  <li>Inventory and product listings</li>
  <li>Transaction logs and audit trails</li>
  <li>Any table that may span multiple pages</li>
</ul>

<p><strong>Default Behavior</strong>: Table headers (<code class="language-plaintext highlighter-rouge">&lt;thead&gt;</code>) repeat on each page by default. Use <code class="language-plaintext highlighter-rouge">data-repeat="false"</code> to disable this behavior.</p>

<hr />

<h2 id="usage">Usage</h2>

<p>The <code class="language-plaintext highlighter-rouge">data-repeat</code> attribute is applied to <code class="language-plaintext highlighter-rouge">&lt;thead&gt;</code> elements within tables:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr&gt;</span>
            <span class="nt">&lt;th&gt;</span>Column 1<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th&gt;</span>Column 2<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="c">&lt;!-- Many rows of data --&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="basic-syntax">Basic Syntax</h3>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">&lt;!-- Enable header repetition (default behavior) --&gt;</span>
<span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;tr&gt;&lt;th&gt;</span>Header<span class="nt">&lt;/th&gt;&lt;/tr&gt;</span>
<span class="nt">&lt;/thead&gt;</span>

<span class="c">&lt;!-- Disable header repetition --&gt;</span>
<span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"false"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;tr&gt;&lt;th&gt;</span>Header<span class="nt">&lt;/th&gt;&lt;/tr&gt;</span>
<span class="nt">&lt;/thead&gt;</span>

<span class="c">&lt;!-- Omit attribute (defaults to true) --&gt;</span>
<span class="nt">&lt;thead&gt;</span>
    <span class="nt">&lt;tr&gt;&lt;th&gt;</span>Header<span class="nt">&lt;/th&gt;&lt;/tr&gt;</span>
<span class="nt">&lt;/thead&gt;</span>
</code></pre></div></div>

<hr />

<h2 id="supported-elements">Supported Elements</h2>

<p>The <code class="language-plaintext highlighter-rouge">data-repeat</code> attribute is <strong>only</strong> supported on the following element:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">&lt;thead&gt;</code> - The table header section element</li>
</ul>

<p><strong>Note</strong>: This attribute has no effect on <code class="language-plaintext highlighter-rouge">&lt;tbody&gt;</code>, <code class="language-plaintext highlighter-rouge">&lt;tfoot&gt;</code>, or other table elements. It is specifically designed for header repetition control.</p>

<hr />

<h2 id="binding-values">Binding Values</h2>

<h3 id="attribute-values">Attribute Values</h3>

<table>
  <thead>
    <tr>
      <th>Value</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">true</code></td>
      <td>Headers repeat on each page (default behavior)</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">false</code></td>
      <td>Headers appear only once at the start of the table</td>
    </tr>
  </tbody>
</table>

<h3 id="type">Type</h3>

<p><strong>Type</strong>: <code class="language-plaintext highlighter-rouge">boolean</code>
<strong>Default</strong>: <code class="language-plaintext highlighter-rouge">true</code></p>

<h3 id="expression-support">Expression Support</h3>

<p>The attribute accepts literal boolean values or binding expressions:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">&lt;!-- Literal value --&gt;</span>
<span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>

<span class="c">&lt;!-- Bound value --&gt;</span>
<span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">""</span><span class="nt">&gt;</span>

<span class="c">&lt;!-- Conditional based on table size --&gt;</span>
<span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">""</span><span class="nt">&gt;</span>
</code></pre></div></div>

<hr />

<h2 id="notes">Notes</h2>

<h3 id="default-behavior">Default Behavior</h3>

<p>By default, table headers (<code class="language-plaintext highlighter-rouge">&lt;thead&gt;</code>) automatically repeat at the top of each page when a table spans multiple pages. This provides:</p>
<ul>
  <li>Consistent column identification across all pages</li>
  <li>Better readability for long tables</li>
  <li>Professional document formatting</li>
  <li>Improved usability for printed documents</li>
</ul>

<h3 id="when-to-disable-repetition">When to Disable Repetition</h3>

<p>Consider setting <code class="language-plaintext highlighter-rouge">data-repeat="false"</code> when:</p>
<ul>
  <li>Table is guaranteed to fit on a single page</li>
  <li>Headers are very tall and consume significant page space</li>
  <li>Custom page breaking is implemented</li>
  <li>Table structure changes mid-document</li>
  <li>Headers contain images or complex layouts that impact performance</li>
</ul>

<h3 id="performance-considerations">Performance Considerations</h3>

<p>Header repetition has minimal performance impact:</p>
<ul>
  <li>Headers are rendered once and referenced on subsequent pages</li>
  <li>Styling is cached for repeated headers</li>
  <li>Memory usage is negligible even for complex headers</li>
</ul>

<p>For very complex headers (images, nested tables), consider:</p>
<ul>
  <li>Simplifying header design</li>
  <li>Using text-only headers for large datasets</li>
  <li>Combining with <code class="language-plaintext highlighter-rouge">data-cache-styles</code> on data rows</li>
</ul>

<h3 id="multi-row-headers">Multi-Row Headers</h3>

<p>When <code class="language-plaintext highlighter-rouge">&lt;thead&gt;</code> contains multiple rows, all rows repeat together:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;tr&gt;</span>
        <span class="nt">&lt;th</span> <span class="na">colspan=</span><span class="s">"3"</span><span class="nt">&gt;</span>Main Header<span class="nt">&lt;/th&gt;</span>
    <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;tr&gt;</span>
        <span class="nt">&lt;th&gt;</span>Column 1<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;th&gt;</span>Column 2<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;th&gt;</span>Column 3<span class="nt">&lt;/th&gt;</span>
    <span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/thead&gt;</span>
</code></pre></div></div>

<p>Both header rows appear on each page.</p>

<h3 id="page-breaking-behavior">Page Breaking Behavior</h3>

<p>When a table spans pages:</p>
<ol>
  <li>Current page fills with data rows</li>
  <li>New page begins</li>
  <li>If <code class="language-plaintext highlighter-rouge">data-repeat="true"</code>, header rows are rendered at top of new page</li>
  <li>Data rows continue below the header</li>
  <li>Process repeats for all pages</li>
</ol>

<h3 id="combining-with-other-table-features">Combining with Other Table Features</h3>

<p>The <code class="language-plaintext highlighter-rouge">data-repeat</code> attribute works seamlessly with:</p>
<ul>
  <li><strong>Column widths</strong>: Headers maintain consistent widths across pages</li>
  <li><strong>Styling</strong>: Header styles are preserved on all pages</li>
  <li><strong>Borders</strong>: Border rendering remains consistent</li>
  <li><strong>Background colors</strong>: Background colors repeat correctly</li>
  <li><strong>Data binding</strong>: Works with both static and dynamic tables</li>
</ul>

<h3 id="accessibility-and-usability">Accessibility and Usability</h3>

<p>Repeating headers improve document usability by:</p>
<ul>
  <li>Eliminating need to reference earlier pages for column meaning</li>
  <li>Providing context at a glance</li>
  <li>Reducing errors in data interpretation</li>
  <li>Improving scanning and searching in printed documents</li>
</ul>

<hr />

<h2 id="examples">Examples</h2>

<h3 id="1-basic-repeating-header">1. Basic Repeating Header</h3>

<p>Standard table with header repetition (default):</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead&gt;</span>
        <span class="nt">&lt;tr&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt; background-color: #f0f0f0;"</span><span class="nt">&gt;</span>
                Name
            <span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt; background-color: #f0f0f0;"</span><span class="nt">&gt;</span>
                Email
            <span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt; background-color: #f0f0f0;"</span><span class="nt">&gt;</span>
                Phone
            <span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="2-disable-header-repetition">2. Disable Header Repetition</h3>

<p>Single-page table without repetition:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"false"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;</span>
                Item
            <span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;</span>
                Description
            <span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;tr&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;</span>A<span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;</span>First item<span class="nt">&lt;/td&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;tr&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;</span>B<span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"border: 1pt solid black; padding: 8pt;"</span><span class="nt">&gt;</span>Second item<span class="nt">&lt;/td&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="3-styled-repeating-header">3. Styled Repeating Header</h3>

<p>Professional styled header that repeats:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #336699; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Product Code<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Product Name<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: right;"</span><span class="nt">&gt;</span>Quantity<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: right;"</span><span class="nt">&gt;</span>Unit Price<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: right;"</span><span class="nt">&gt;</span>Total<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="4-multi-row-header">4. Multi-Row Header</h3>

<p>Complex header with two rows, both repeat:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #2c3e50; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">colspan=</span><span class="s">"5"</span> <span class="na">style=</span><span class="s">"padding: 12pt; text-align: center; font-size: 14pt;"</span><span class="nt">&gt;</span>
                Quarterly Sales Report - Q1 2024
            <span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #34495e; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt;"</span><span class="nt">&gt;</span>Region<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; text-align: right;"</span><span class="nt">&gt;</span>Jan<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; text-align: right;"</span><span class="nt">&gt;</span>Feb<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; text-align: right;"</span><span class="nt">&gt;</span>Mar<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; text-align: right;"</span><span class="nt">&gt;</span>Total<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right; font-weight: bold;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="5-conditional-repetition-based-on-data-size">5. Conditional Repetition Based on Data Size</h3>

<p>Enable repetition only for large datasets:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">&lt;!-- Model: { items: [...], repeatHeaders: items.length &gt; 25 } --&gt;</span>
<span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">""</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #f0f0f0;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>ID<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Name<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Status<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="6-invoice-line-items">6. Invoice Line Items</h3>

<p>Invoice table with repeating header:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;h1&gt;</span>Invoice #<span class="nt">&lt;/h1&gt;</span>
<span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse; margin-top: 20pt;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #e0e0e0; font-weight: bold;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: left;"</span><span class="nt">&gt;</span>Description<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>Qty<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>Unit Price<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>Total<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>$<span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid #ddd; text-align: right; font-weight: bold;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
    <span class="nt">&lt;tfoot&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"font-weight: bold; background-color: #f9f9f9;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"3"</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>
                Subtotal:
            <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>
                $
            <span class="nt">&lt;/td&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"font-weight: bold; background-color: #f9f9f9;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"3"</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>
                Tax (%):
            <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>
                $
            <span class="nt">&lt;/td&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"font-weight: bold; font-size: 12pt; background-color: #e0e0e0;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"3"</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>
                Total:
            <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>
                $
            <span class="nt">&lt;/td&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/tfoot&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="7-transaction-log">7. Transaction Log</h3>

<p>Long transaction list with compact repeating header:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;h1&gt;</span>Transaction Log<span class="nt">&lt;/h1&gt;</span>
<span class="nt">&lt;p&gt;</span>Account:  | Date Range:  - <span class="nt">&lt;/p&gt;</span>

<span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse; font-size: 9pt;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #336699; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Date<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Transaction ID<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Description<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>Debit<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>Credit<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black; text-align: right;"</span><span class="nt">&gt;</span>Balance<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 5pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 5pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 5pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 5pt; border-bottom: 1pt solid #ddd; text-align: right; color: red;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 5pt; border-bottom: 1pt solid #ddd; text-align: right; color: green;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 5pt; border-bottom: 1pt solid #ddd; text-align: right; font-weight: bold;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="8-inventory-report-with-grouped-headers">8. Inventory Report with Grouped Headers</h3>

<p>Grouped column headers that repeat:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #2c3e50; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">rowspan=</span><span class="s">"2"</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; vertical-align: middle;"</span><span class="nt">&gt;</span>
                SKU
            <span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">rowspan=</span><span class="s">"2"</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; vertical-align: middle;"</span><span class="nt">&gt;</span>
                Product
            <span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">colspan=</span><span class="s">"3"</span> <span class="na">style=</span><span class="s">"padding: 10pt; border: 1pt solid black; text-align: center;"</span><span class="nt">&gt;</span>
                Inventory
            <span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #34495e; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>On Hand<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Committed<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Available<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd; text-align: right; font-weight: bold;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="9-employee-directory">9. Employee Directory</h3>

<p>Multi-page directory with repeating styled header:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;style&gt;</span>
    <span class="nc">.directory-header</span> <span class="p">{</span>
        <span class="nl">background</span><span class="p">:</span> <span class="n">linear-gradient</span><span class="p">(</span><span class="n">to</span> <span class="nb">bottom</span><span class="p">,</span> <span class="m">#336699</span><span class="p">,</span> <span class="m">#2c5577</span><span class="p">);</span>
        <span class="nl">color</span><span class="p">:</span> <span class="no">white</span><span class="p">;</span>
        <span class="nl">font-weight</span><span class="p">:</span> <span class="nb">bold</span><span class="p">;</span>
    <span class="p">}</span>
<span class="nt">&lt;/style&gt;</span>

<span class="nt">&lt;h1&gt;</span>Employee Directory<span class="nt">&lt;/h1&gt;</span>

<span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span> <span class="na">class=</span><span class="s">"directory-header"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Name<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Department<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Title<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Email<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Phone<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt;"</span><span class="nt">&gt;</span> <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt;"</span><span class="nt">&gt;&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="10-product-catalog">10. Product Catalog</h3>

<p>Catalog with image-based header (repetition enabled):</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #f0f0f0;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; width: 15%;"</span><span class="nt">&gt;</span>
                <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"logo-small.png"</span> <span class="na">style=</span><span class="s">"height: 20pt;"</span><span class="nt">/&gt;</span>
            <span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Product Name<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Category<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: right;"</span><span class="nt">&gt;</span>Price<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Availability<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span>
                    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">""</span> <span class="na">style=</span><span class="s">"width: 40pt; height: 40pt;"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: right; font-weight: bold;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="11-audit-trail-report">11. Audit Trail Report</h3>

<p>Compliance report with repeating header:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;h1&gt;</span>System Audit Trail<span class="nt">&lt;/h1&gt;</span>
<span class="nt">&lt;p&gt;</span>Generated:  | User: <span class="nt">&lt;/p&gt;</span>

<span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse; font-size: 8pt;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #dc3545; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Timestamp<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>User<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Action<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Resource<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>Result<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 6pt; border: 1pt solid black;"</span><span class="nt">&gt;</span>IP Address<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 4pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 4pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 4pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 4pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 4pt; border-bottom: 1pt solid #ddd;
                           color: ;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 4pt; border-bottom: 1pt solid #ddd; font-family: monospace;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="12-financial-statement">12. Financial Statement</h3>

<p>Financial data with multiple header levels:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #2c3e50; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">colspan=</span><span class="s">"4"</span> <span class="na">style=</span><span class="s">"padding: 15pt; text-align: center; font-size: 14pt;"</span><span class="nt">&gt;</span>
                Income Statement - Year Ended December 31, 2023
            <span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #34495e; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; width: 10%; text-align: center;"</span><span class="nt">&gt;</span>Account<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; width: 50%; text-align: left;"</span><span class="nt">&gt;</span>Description<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; width: 20%; text-align: right;"</span><span class="nt">&gt;</span>Current Year<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 8pt; width: 20%; text-align: right;"</span><span class="nt">&gt;</span>Prior Year<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 6pt; border-bottom: 1pt solid #ddd; text-align: right;"</span><span class="nt">&gt;</span>
                    $
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="13-order-fulfillment-report">13. Order Fulfillment Report</h3>

<p>Warehouse picking list with repeating header:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #28a745; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Pick<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Item Code<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Description<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Location<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Qty<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Picked<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span><span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; font-family: monospace;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; font-weight: bold;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center; font-size: 12pt;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                    __________
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="14-event-schedule">14. Event Schedule</h3>

<p>Multi-day event schedule with repeating date headers:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #6c757d; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; width: 15%;"</span><span class="nt">&gt;</span>Time<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; width: 35%;"</span><span class="nt">&gt;</span>Session<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; width: 25%;"</span><span class="nt">&gt;</span>Speaker<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; width: 25%;"</span><span class="nt">&gt;</span>Location<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; font-weight: bold;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h3 id="15-comparison-report">15. Comparison Report</h3>

<p>Side-by-side comparison with repeating headers:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">style=</span><span class="s">"width: 100%; border-collapse: collapse;"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;thead</span> <span class="na">data-repeat=</span><span class="s">"true"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;tr</span> <span class="na">style=</span><span class="s">"background-color: #17a2b8; color: white;"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: left;"</span><span class="nt">&gt;</span>Feature<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Product A<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Product B<span class="nt">&lt;/th&gt;</span>
            <span class="nt">&lt;th</span> <span class="na">style=</span><span class="s">"padding: 10pt; text-align: center;"</span><span class="nt">&gt;</span>Product C<span class="nt">&lt;/th&gt;</span>
        <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;/thead&gt;</span>
    <span class="nt">&lt;tbody&gt;</span>
        <span class="nt">&lt;template</span> <span class="na">data-bind=</span><span class="s">""</span><span class="nt">&gt;</span>
            <span class="nt">&lt;tr&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; font-weight: bold;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
                <span class="nt">&lt;td</span> <span class="na">style=</span><span class="s">"padding: 8pt; border-bottom: 1pt solid #ddd; text-align: center;"</span><span class="nt">&gt;</span>
                    
                <span class="nt">&lt;/td&gt;</span>
            <span class="nt">&lt;/tr&gt;</span>
        <span class="nt">&lt;/template&gt;</span>
    <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<hr />

<h2 id="see-also">See Also</h2>

<ul>
  <li><a href="/reference/htmltags/table.html">table element</a> - The table HTML element</li>
  <li><a href="/reference/htmltags/thead.html">thead element</a> - Table header section</li>
  <li><a href="/reference/htmltags/tbody.html">tbody element</a> - Table body section</li>
  <li><a href="/reference/htmltags/tfoot.html">tfoot element</a> - Table footer section</li>
  <li><a href="/reference/binding/">Data Binding</a> - Complete data binding guide</li>
  <li><a href="/reference/htmltags/template.html">template element</a> - Template for repeating content</li>
</ul>

<hr />

    </div>
</template>

Example 13: Financial Statement Rows

<table border="1" cellpadding="10" style="width: 100%;">
    <tbody>
        <!-- Account entries (potentially hundreds) -->
        <template data-bind=""
                  data-style-identifier="account-entry">
            <tr>
                <td style="padding: 8pt;"></td>
                <td style="padding: 8pt;"></td>
                <td style="padding: 8pt; text-align: right; font-family: monospace;">
                    $
                </td>
            </tr>
        </template>
    </tbody>
</table>

Example 14: Email Campaign Report

<h2>Campaign Performance Metrics</h2>

<template data-bind=""
          data-style-identifier="campaign-metric">
    <div style="padding: 15pt; margin-bottom: 15pt;
                border-left: 4pt solid #336699; background-color: #f0f0f0;">
        <h3 style="margin: 0 0 10pt 0;"></h3>
        <table style="width: 100%; font-size: 10pt;">
            <tr>
                <td>Sent:</td>
                <td style="text-align: right; font-weight: bold;"></td>
            </tr>
            <tr>
                <td>Opened:</td>
                <td style="text-align: right; font-weight: bold;"> (%)</td>
            </tr>
            <tr>
                <td>Clicked:</td>
                <td style="text-align: right; font-weight: bold;"> (%)</td>
            </tr>
        </table>
    </div>
</template>

Example 15: Complete Optimized Report

<!-- Model: { sections: [{title: "Section", items: [...]}] } -->

<style>
    .section-header {
        padding: 12pt;
        background-color: #336699;
        color: white;
        font-weight: bold;
        margin-bottom: 10pt;
    }

    .item-row {
        padding: 8pt;
        border-bottom: 1pt solid #e0e0e0;
        font-size: 10pt;
    }
</style>

<template data-bind=""
          data-style-identifier="report-section">
    <div style="margin-bottom: 30pt;">
        <div class="section-header">
            
        </div>

        <!-- Nested template with its own identifier -->
        <template data-bind=""
                  data-style-identifier="section-item">
            <div class="item-row">
                <span style="display: inline-block; width: 30%;"></span>
                <span style="display: inline-block; width: 50%;"></span>
                <span style="display: inline-block; width: 20%; text-align: right;"></span>
            </div>
        </template>
    </div>
</template>

See Also