Logic | - Retrieve the descendants of the designated page
- On each page, if it has a table, pull the heading row
- If there is a second table detected on the page, trigger the "extra table" error message.
- 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.
- Otherwise, create a new entry in the headings:pages hashMap associating the heading with the current page.
- Compile the headings and their pages into a consolidated report according to the "Output style" parameter:
- 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.
- 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.
- 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.
- If the "QC" parameter is checked, identify and highlight any non-breaking spaces (HTML entity ) and other non-ASCII characters.
- If there are any characters so highlighted, trigger the "non-ASCII" error message.
- 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.
- Print the consolidated report.
|
---|