Tags
RV
This article lists the errors that may occur when a Word template is validated by Causeway Field after being imported by a user.
Each error is classified as follows:
Critical — prevents report generation.
Non-critical — report generation is still possible, but the output may not match the user’s intentions.
For some critical loop-related errors, the validator cannot always determine whether the error is located in the previous tag or the following tag. The tag that is reported may therefore be an adjacent one.
Critical errors
Name | Error case | Example |
Critical error | Any unidentified error that prevents report generation. | All other cases not listed here. |
Unopened loop ( UnopenedLoop) | An :end tag has no matching :start tag because the start tag is missing or unrecognised. | ##repeat_section_x:end## with no :start tag |
Repeated loop closing tag ( ClosedLoopRepeated) | The same :end tag appears twice in a row. | ##repeat_section_x:end## ##repeat_section_x:end## |
Incorrect tag closing order ( OpeningTagReversedTag) | The end tags of nested loops are closed in the wrong order. | ##a:start## ##b:start## … ##a:end## ##b:end## |
Repeated loop opening tag ( OpenedLoopRepeated) | The same :start tag appears twice in a row. | ##repeat_section_x:start## ##repeat_section_x:start## |
Reversed nested loop ( ReversedNestedLoop) | A nested loop is opened before its parent loop. The start tags therefore appear in the wrong order. | ##child:start## ##parent:start## … ##parent:end## ##child:end## |
Reversed closing tag order ( ClosingTagReversedTag) | The start and end tags of nested loops are arranged in the wrong order. The error is detected at the closing tags. | Reversed nesting of the :start and :end tags |
Unclosed loop ( UnclosedLoop) | A :start tag has no matching :end tag and remains open at the end of the document. | ##repeat_section_x:start## with no :end tag |
Non-critical errors
Other possible errors that do not prevent template validation by Causeway Field:
Name | Error case | Example |
Unknown tag ( UnknownTag) | The tag does not exist in any widget in the form. | ##text_ipoohKfO## is not present in the form |
Missing suffix ( MissingSuffix) | A mandatory suffix is missing. | ##section##, ##image## |
Invalid suffix ( InvalidSuffix) | The suffix used is incorrect or misspelt for this type of tag ( :title, :user, etc.). | ##ab_choice_x:titel## |
Suffix added to a default tag ( DefaultTagWithSuffix) | A suffix has been added to a default or metadata tag, such as username or asset_name. | ##username:title## |
Missing suffix separator ( MissingSuffixSeparator) | A word corresponding to a suffix, such as title, user or image, is detected, but the : character is missing. | ##section_xtitle## |
Invalid image suffix ( InvalidImageSuffix) | The image type is not recognised or the image dimensions are missing. | ##image_x:image300300## |
Unsupported widget type ( UnsupportedWidgetType) | The widget type is not supported for report generation. This currently applies to PDF widgets. | Standalone PDF tag: ##pdf_tag## |
Tag outside the loop block ( OutsideLoopBlock) | A loop tag is located outside the loop block to which it belongs. This check is currently disabled. | — |
Tag not part of the loop ( NotPartOfLoop) | A task tag is not contained within the iteration to which it belongs. This check is currently disabled. | ##ref_section:start## ##ref_task## ##ref_section:end##, where ref_task is not part of the section |
Incomplete tag ( IncompleteTag) | The tag is malformed because a # character is missing, but it still matches an existing tag. | #section_x:title##, ##section_x:title# |
Tag surrounded by spaces ( TagWithWhiteSpaces) | A valid tag contains unnecessary spaces inside the ##...## delimiters. | ## section_x:title ## |