B.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).


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:

  1. Check for prefix_line and prepare for it if present (does not process prefix-line at this time)
  2. prefix-sub definitions processed
  3. if-prefix-etc. nesting resolved
  4. prefix-alternate processed
  5. if-prefix-param processed
  6. if-prefix-pos processed
  7. prefix-pos processed
  8. if-prefix-field processed
  9. prefix-line processed
  10. prefix-increment processed
  11. prefix-accessories processed
  12. prefix-options processed
  13. prefix-code processed
  14. prefix-description processed
  15. prefix-field processed
  16. prefix-price processed
  17. prefix-change processed
  18. prefix-calc processed
  19. prefix-exec processed
  20. prefix-filter processed
  21. prefix-last processed
  22. prefix-next processed
  23. User's previous HTML widget SELECTED settings restored
  24. 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:

  1. prefix-sub definitions processed
  2. if-prefix-etc. nesting resolved
  3. prefix-alternate processed
  4. prefix-line processed
  5. if-prefix-param processed
  6. if-prefix-field processed
  7. if-prefix-modifier processed (if-prefix-param and if-prefix-modifier are functionally identical except for parse order)
  8. prefix-increment processed
  9. prefix-accessories processed
  10. prefix-options processed
  11. prefix-sku processed
  12. prefix-code processed
  13. prefix-quantity processed
  14. prefix-modifier processed
  15. prefix-param processed
  16. prefix-quantity-name processed
  17. prefix-modifier-name processed
  18. prefix-subtotal processed
  19. prefix-discount-subtotal processed
  20. prefix-code processed again differently (operating on new instances of prefix-code in output of above?)
  21. prefix-field processed
  22. prefix-description processed
  23. prefix-price processed
  24. prefix-discount-price processed
  25. prefix-difference processed
  26. prefix-discount processed
  27. prefix-change processed
  28. prefix-tag processed (*** CHECK THIS TAG NAME ***)
  29. prefix-calc processed
  30. prefix-exec processed
  31. prefix-filter processed
  32. prefix-last processed
  33. prefix-next processed
  34. User's previous HTML widget SELECTED settings restored
  35. Reparse standard tags in output of above (if reparse enabled for the containing tag)