This article describes format of XML files to be used with CBCGPOutlineParser and auto-outlining feature of the edit control. The XML parser is invoked by calling to CBCGPEditCtrl::LoadOutlineParserXMLSettings.
The structure used for the outline parser is following:
    3         <IgnoreOneLineBlocks></IgnoreOneLineBlocks>
 
    5             <EscapeSequence></EscapeSequence>
 
   12                 <ReplaceString></ReplaceString>
 
   13                 <AllowNestedBlocks></AllowNestedBlocks>
 
 There are no mandatory tags except the main "SETTINGS" tag.
"OUTLINE_DATA" tag defines general outline parser settings.
- "IgnoreOneLineBlocks" tag defines whether the edit control should consider one line blocks as collapsible or not. "False" by default
- "EscapeSequences" tag defines a list of escape sequences.
- "EscapeSequence" tag represents a single escape sequence.
- "BLOCKS" tag is intended for syntax definitions of the language. Each block specifies the rule how the outline parser found the outline collapsible region. It's usable when you need to define a set of automatic outlining regions of the same language syntax block. For each block the XML parser will call CBCGPOutlineParser::AddBlockType.
- "BLOCK" tag represents a single block.
Default XML settings for C++: 
    3         <IgnoreOneLineBlocks>True</IgnoreOneLineBlocks>
 
    4         <IncludeSpaceLines>True</IncludeSpaceLines>
 
    6             <EscapeSequence>\\\"</EscapeSequence>
 
   12                 <ReplaceString></ReplaceString>
 
   13                 <AllowNestedBlocks>False</AllowNestedBlocks>
 
   20                 <ReplaceString>\"\"</ReplaceString>
 
   21                 <AllowNestedBlocks>False</AllowNestedBlocks>
 
   28                 <ReplaceString>..</ReplaceString>
 
   30                     <Keyword>else</Keyword>
 
   31                     <Keyword>struct</Keyword>
 
   32                     <Keyword>enum</Keyword>
 
   33                     <Keyword>switch</Keyword>
 
   34                     <Keyword>catch</Keyword>
 
   35                     <Keyword>try</Keyword>
 
   36                     <Keyword>for</Keyword>
 
   37                     <Keyword>operator</Keyword>
 
   38                     <Keyword>class</Keyword>
 
   40                     <Keyword>union</Keyword>
 
   42                     <Keyword>while</Keyword>
 
   43                     <Keyword>namespace</Keyword>
 
   50                 <ReplaceString>...</ReplaceString>
 
   56                 <ReplaceString>/**/</ReplaceString>
 
   57                 <AllowNestedBlocks>False</AllowNestedBlocks>
 
   63                 <ReplaceString>/**/</ReplaceString>
 
   64                 <AllowNestedBlocks>False</AllowNestedBlocks>