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


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-* 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-* 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)