A.3. Nonstandard parsing of Subtags
Subtags are parsed within the containing array-list or hash-list context created by the containing tag (see Looping tags and Sub-tags).
- All subtags at an earlier precedence level are treated before any in the next level.
- Within the same level, tags are proccessed in the order the appear on the page.
- Any standard tags are processed during 'interpolate' (before) or 'reparse' (after) phases of processing the containing tag.
Technical note
Processing within a hash- or array-list is actually done as a series of global regular expression substitutions on the page. Each substitution replaces one tag with the output of the subroutine(s) associated with it.
In array-list context, subtags are processed in the following order:
- Check for prefix_line and prepare for it if present (does not process prefix-line at this time)
- prefix-sub definitions processed
- if-prefix-etc. nesting resolved
- prefix-alternate processed
- if-prefix-param processed
- if-prefix-pos processed
- prefix-pos processed
- if-prefix-field processed
- prefix-line processed
- prefix-increment processed
- prefix-accessories processed
- prefix-options processed
- prefix-code processed
- prefix-description processed
- prefix-field processed
- prefix-price processed
- prefix-change processed
- prefix-calc processed
- prefix-exec processed
- prefix-filter processed
- prefix-last processed
- prefix-next processed
- User's previous HTML widget SELECTED settings restored
- Reparse standard tags in output of above (if reparse enabled for the containing tag)
In hash-list context, subtags are processed in the following order:
- prefix-sub definitions processed
- if-prefix-etc. nesting resolved
- prefix-alternate processed
- prefix-line processed
- if-prefix-param processed
- if-prefix-field processed
- if-prefix-modifier processed (if-prefix-param and if-prefix-modifier are functionally identical except for parse order)
- prefix-increment processed
- prefix-accessories processed
- prefix-options processed
- prefix-sku processed
- prefix-code processed
- prefix-quantity processed
- prefix-modifier processed
- prefix-param processed
- prefix-quantity-name processed
- prefix-modifier-name processed
- prefix-subtotal processed
- prefix-discount-subtotal processed
- prefix-code processed again differently (operating on new instances of prefix-code in output of above?)
- prefix-field processed
- prefix-description processed
- prefix-price processed
- prefix-discount-price processed
- prefix-difference processed
- prefix-discount processed
- prefix-change processed
- prefix-tag processed (*** CHECK THIS TAG NAME ***)
- prefix-calc processed
- prefix-exec processed
- prefix-filter processed
- prefix-last processed
- prefix-next processed
- User's previous HTML widget SELECTED settings restored
- Reparse standard tags in output of above (if reparse enabled for the containing tag)