title: Confluence blueprint substitution does not work in macros with plain-text body
body: <p>I've created a Confluence blueprint plugin as per the basic/intermediate/advanced tutorials available from Atlassian. I now want to update the page template to include a <code>{HTML}</code> macro with embedded CDATA, where a URL in that CDATA contains a portion to be substituted with user-entered data.</p>
  
  <p>What I'd ideally like to do, with the <code>&lt;at:var...&gt;</code> being substituted with <code>locationid</code>:</p>
  
  <pre><code>&lt;ac:structured-macro ac:name="html"&gt;
    &lt;ac:plain-text-body&gt;
      &lt;![CDATA[&lt;iframe src="http://...?locationid=&lt;at:var at:name="locationid"/&gt;"&gt;&lt;/iframe&gt;]]&gt;
    &lt;/ac:plain-text-body&gt;
  &lt;/ac:structured-macro&gt;
  </code></pre>
  
  <p>Unfortunately this does not work; the <code>&lt;at:var at:name="..."&gt;</code> inside CDATA can't be substituted.</p>
  
  <p>I've tried various formats of this, for example substituting in the entire CDATA string itself, even going as far as substituting in the entire <code>&lt;ac:structured-macro&gt;</code> block in a single string. None work.</p>
  
  <p>A Google search brought up two very similar questions on the Atlassian community wiki, <a href="https://community.atlassian.com/t5/Answers-Developer-Questions/How-can-i-get-a-template-variable-to-substitute-properly-in-a/qaq-p/465536" rel="noreferrer">this</a> and <a href="https://community.atlassian.com/t5/Answers-Developer-Questions/How-do-you-nest-Blueprint-placeholders-inside-a-macro-with-a/qaq-p/572422" rel="noreferrer">this</a>. Furthermore I found a <a href="https://jira.atlassian.com/browse/CONFSERVER-30673" rel="noreferrer">Confluence Server JIRA</a> to fix this problem, but it's been rejected and closed.</p>
  
  <p>Despite the evidence against a solution I'm hoping that someone creative has an idea of how I can achieve this?</p>
  
  <p><strong>Atlassian SDK:</strong> 6.2.14</p>