Skip to main content

TP2 Limitations

As we introduce Tag Processor 2 "TP2" , it's essential to provide a clear understanding of its limitations to ensure users can effectively leverage its capabilities. While TP2 is designed to enhance the efficiency and versatility of our tagging system, certain constraints exist that users should be aware of. This document outlines the limitations of TP2, including its compatibility with specific tags and other functionalities. By understanding these limitations, users can make informed decisions when utilizing TP2 in their projects. Please read the Repeat Tag Reference article and the If Tag Reference article to familiarize yourself with the different types of tags and their functionalities.

Definition of Terms

  • Logic groups: A logic block is a grouping of tags that are logically related. For example, an if tag and its corresponding end if tag form a logic block. Logic blocks can be nested within each other.
  • Expansion groups: An expansion block is a grouping of tags that are expanded by the tag processor. For example, a repeat tag and its corresponding end repeat tag form an expansion block. Expansion blocks can be nested within each other.

Repeat Tag (repeat) Limitations

Repeat Tags Placement:

  • Row expand or legacy repeat tags with block=false must start in the first column of the table.
  • If you are placing a repeat tag in a table; the repeat tag and the end repeat tag must be fully encompassed in the table unless its a legacy repeat tag. With a legacy repeat tag, the end tag can be out side the table.
  • If an if/switch tag encapsulates a start repeat but does not encapsulate the corresponding end repeat, this constitutes an invalid case.

Nested Repeat Tags:

  • Nested repeat tags must be fully contained within each other; meaning the nested group must start after the parent group and end before it.

Block Type Limitations:

  • Only Row Expand and Legacy repeat tags can be block types. Column repeat tags cannot be block types.
  • Row expand tags with block=true require that both the start and end tags be in the same column or a greater column than the starting tag, but the end cannot be in a prior column.
  • Adjacent row block repeat tags block=true (side by side blocks) must start and end on the same row. If you dont want them to be perfectly in line then the start of one of the blocks must come after the end of the other, the start of one group and end of another cannot be inline. Adjacent Row Block Repeat Tags

Horizontal Merges in Column Expansion:

  • Merged cells are valid if they are fully contained within a expansion group in all cases.
  • Merged cells extending beyond a expansion group but concluding before the next group's start are valid.
  • If merged cells are to extend into adjacent groups, they must merge all the way through the end of the adjacent groups.
    • Summarizing the previous point, a horizontal merge must either be fully contained within a expansion group or extend through the end of the next group, but cannot terminate half way through an adjacent group.

Horizontal Merges

  • Merges starting before a expansion group and ending within that group are valid.

If Tag Limitations

If Tag Placement:

  • The start column of a logic block must be less than or equal to the end column, meaning the if tag must start in the same column or a column to the left of the end tag, the end tag may not be placed in a prior column. If Tag Placement
  • The start row of a logic block must be less than or equal to the EndRow for each set of bounds.
  • If you want to use a logic group in a table, the start and end tags must be fully contained within the table. You can have logic blocks encompassing the outside of tables should you choose, but if the start is in the table the end must also be in the same table or vice versa (unless it is a Content If block).

Content If Tag

Nesting If Tags:

  • Nested if tags must be fully contained within each other; meaning the nested group must start after the parent group and end before it.
    • The same applies for repeat tags; an if must fully encompass a repeat tag and the repeat tag must fully encompass the if tag.
  • Nesting a block type logic group block=true within a non-block type logic group block=false is invalid, blocks types can only be nested within other block types. The same holds true for logic blocks nested in expansion blocks, and the same "Block Type Limitations" outlines above apply here as well.
  • Nesting Block type block=true logic groups and expansion groups must adhere to the following rules for the nesting to be valid:
    • For block types and column expansion:
      • The row heights must be the same; ie. the start and end rows must be the same for the nested group and the parent group
    • For row block expansion:
      • The column widths must be the same; ie. the start and end columns must be the same for the nested group and the parent group

Block Nesting