There's probably a bit more to it as for the TOC to work you also need to have the heading styles defined. If you're after my opinion..
Taking the placeholder idea at it's simplest using an XML style of tagging:
\o "1-3" \h \z \u - This would translate to {TOC \o "1-3" \h \z \u}
\o "1-4" \h \z \u - This would translate to {TOC \o "1-4" \h \z \u}
Heading 1 Text
- This would print 'Heading 1 Text' with a style of Heading 1
Heading 2 Text
- This would print 'Heading 2 Text' with a style of Heading 2 etc..
Would probably be worth supporting up to five or six headings..
That would satisfy the base case and is probably not a bad way to start.
If there is an attribute that is not used by the existing Reporting Services plugin that can be set (eg. TextBox.Label or TextBox.ValueLocID), this would be preferable to a tag as the text would look cleaner in preview mode and is probably easier to code as you don't need to parse the text.
It would be good if the styling (font etc) defined for the textbox is carried through to the Heading text. I think if you set the Style first, and then set the other Font customisations it should work.
Food for thought :)
What do you think?