spot on, and you're right; i didn't explain the requirement thoroughly.
basically, <eicas_title> only appears once. however, the remaining three child nodes are unbounded. (i used two in my example for brevity's sake, sorry.) this means i need a variable number of rows to spawn.
one key point is that, in one <eicas> parent, if there are <component>[n] there will always be <disp_cond> and <remark> [n] with the same <eicas_title>[1].
i know it would have made more sense to make <comp>, <disp> and <remark> children of <eicas_title>, but like i said, i'm producing an output variation based on a grouping that wasn't forseen.
the grouping encompasses @mel_ref within <disp_cond mel_ref="21-31-01"/>.
there's no point in grouping by substring-before(@mel_ref, '-') when i have "21-31-01" and "52-01-02" etc. in the same cell.
right now, <tr> look like this:
Code:
<eicas>
________________________________________________
| | component 1 | 21-31-01 | remark 1 |
| eicas title| component 2 | 52-01-02 | remark 2 |
| | component n | nn-nn-nn | remark n |
|____________|____etc______|____etc___|___etc____|
</eicas>
each line of <component>, <disp>_cond (21-31-01) and <remark> are seperated by a gray border to show their data relationships.
i need to turn each one of those varying number of lines into a new <tr> with the same <eicas_title> in the first cell, so that i can group and sort by the first two \d in <disp_cond> (see example in first post).
i would post my attempted code, but i am ashamed to say, it just evades me.
what you posted was amazing considering my requirements were vague.
thanks so much.