Oops. Messed up the terminology.
Looks like there needs to be two arrays:
For a node N elements deep, M repetitions, P attributes:
set hash [list $element1 $element2 .. $elementN]
text is in a list:
set dom_obj_text_larr(${hash}) [list text1 text2 text3 .. textM]
Attribute value pairs is in same element hash, different array. Value is a standard name/value list:
set dom_obj_att_val_larr(${hash}) [list $attribute1 $value1 .. $attributeP $valueP]
Still exploring..