Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Macro Nameqc_specheads
Macro TitleSpecification Table Headings Report
DescriptionPulls the heading row from the children of a specified page and reports them for comparison against each other. 
Macro parameters
  • Page (page): The page whose children you want to check.
  • Output style (output): How to display the heading row(s) of the tables.
  • QC (qc): Whether to highlight non-breaking spaces and other non-ASCII characters
Logic
  1. Retrieve the descendants of the designated page
  2. On each page, if it has a table, pull the heading row
    1. If there is a second table detected on the page, trigger the "extra table" error message.
    2. If, after scrubbing, the heading row matches one that has already been pulled, add the current page to the list of pages associated with that heading.
    3. Otherwise, create a new entry in the headings:pages hashMap associating the heading with the current page.
  3. Compile the headings and their pages into a consolidated report according to the "Output style" parameter:
    1. If the output style is "Simple", each heading row is displayed as a table row, preceded by the list of the pages on which it appears.
    2. If the output style is "Markup", each heading row is displayed as HTML markup, preceded by the list of the pages on which it appears.
    3. If the output style is "Unified", all heading rows are combined into a single table, and the list of the pages on which each heading row appears is given in an additional first column of the unified table. 
  4. If the "QC" parameter is checked, identify and highlight any non-breaking spaces (HTML entity  ) and other non-ASCII characters.
    1. If there are any characters so highlighted, trigger the "non-ASCII" error message.
  5. Determine the number of pages containing tables, and the number of distinct heading rows found on those pages, and display them, along with any error messages.
  6. Print the consolidated report.
Error messages
  • extra table: Only the first table from each child page has been reported.
  • non-ASCII: Non-breaking spaces and other non-ASCII characters have been highlighted below.


Qc_specheads
outputUnified
qctrue
pageSEND specifications