anchor.diff:        FOutput : TStream;
         FTemplate : ITextReportTemplate;
       private
  +      function  Encode(const Value : String) : String;
         function  ExcludeClosingTag(const TemplateElement : String) : String;
         function  ExtractClosingTag(const TemplateElement : String) : String;
         function  FindClosingTag(const TemplateElement : String; out ClosingTag : TMatch) : Boolean;
  
positive.code:   sSummary := FTemplate.GetProjectSummaryElement.Replace(STR_HTML_PROJECT_SUMMARY_ITEMS, sAllSummaryItems);
    WriteLine(
      ExcludeClosingTag(FTemplate.GetProjectSectionElement)
        .Replace(STR_HTML_PROJECT_TITLE, Title)
        .Replace(STR_HTML_PROJECT_SUMMARY, sSummary)
    );
    WriteLine(ExcludeClosingTag(FTemplate.GetProjectMessagesElement));
  
negative.code:   begin
      sSummaryItem :=
        FTemplate.GetProjectSummaryItemElement
          .Replace(STR_HTML_SUMMARY_MESSAGE_TYPE_KEYWORD, Encode(Item.MessageTypeKeyword))
          .Replace(STR_HTML_SUMMARY_MESSAGE_TYPE_NAME, Encode(Item.MessageTypeName))
          .Replace(STR_HTML_SUMMARY_MESSAGE_COUNT, Encode(Item.MessageCount.ToString));
      sAllSummaryItems := Iff.Get<String>(
        sAllSummaryItems.IsEmpty, sSummaryItem, sAllSummaryItems + sLineBreak + sSummaryItem);
    end;
  