I've just looked at how to implement this using org-element and the new exporter. Much to my dismay I found that table headers are not a separate row or row group type and the new exporter is still using this "everything before the first separator is a heading" kludge. It's easy enough to introduce a second type of separator in org-element (BTW, I don't think that 'rule is a particularly good symbol name for this) by adding another type of table rows, but then these lines get ignored by the new exporter. While the logic used there is amendable (not as easily), it would be more hackish than I hoped. Also, it appears that each element can have only one property or did I miss something? It seems that having a way to get the (main) property and then asking if there are sub-properties on that element would allow simpler code in this particular instance and likely elsewhere. Maybe I missed how to do it, though.
The cleanest way to implement this would be if being a header would be a property of the row group (maybe returnable as the sign of the row group number). There'd be two types of separators, "|-" and "|~". If the line past the end of a row group is "|~", then it is a header group, otherwise it is a normal group. This is incompatible with tradition, but it would allow to use row groups in formulas without introducing unwanted headers. Thoughts? Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Waldorf MIDI Implementation & additional documentation: http://Synth.Stromeko.net/Downloads.html#WaldorfDocs