Not sure if this answers the questions but the workflow that I normally go with is I create the compound array attributes in the initialize function and this will define what the attributes will be.
Example. Sequences Compound Array Attribute with child(0) as name and child(1) as frame.
Sequences = cAttr("Sequences","seq")
cAttr.setArray(1)
....
cAttr.addChild(name)
cAttr.addChild(frame)
If the nodes has 4 Sequences, then you can traverse through the Sequences array by looping 0 to Sequences' numElements. For each element, you can loop through the number of children (in the above example: name and frame) and determine the specific child's name and type.
pseudocode:
numSequences = seqPlug.numElements
for i to numSequences {
currSeq = seqPlug[i]
for j to currSeq.numChildren {
curChild = currSeq.child(j)
print curChild.name
}
}
Not sure if that helps or not ![]()