CourseOrchestra / xylophone

Excel reports generating library

Home Page:https://courseorchestra.github.io/xylophone/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

implement <map> tag inside <output>

inponomarev opened this issue · comments

At the moment, output tag initiates a call to ReportWriter.putSection. This method copies a section of template to result, substituting placeholders inside cells.

We need additional map tag inside output, that should look like this:

<output range="A3:B5">
  <map cell="A4"> <!-- cell address should lie inside the parent's range, 
                            otherwise throw an error during descriptor parsing -->
    foo~{@bar} <!--syntax is as usual in template-->
  </map>
</output>

After normal putSection execution, we should also iterate over all map tags, and set all the values in the appropriate result cells.

The rationale for this is as following:

  • we can move parts of report configuration from binary template to version-controlled text file
  • in the future, we are going to extend <map> functionality with more options, such as dynamically setting foreground/background colours etc.

will not need this