anchor.diff:  
   ====
   
  +===== Built-in Operators
  +
  +|===
  +|Operator |Description	|Examples
  +
  +|Elvis 
  +|Outputs the default value if the previous part cannot be resolved or resolves to `null`.
  +|`{person.name ?: 'John'}`, `{person.name or 'John'}`
  +
  +|Ternary 
  +|Shorthand for if-then-else statement. Unlike in <<if_section>> nested operators are not supported.
  +|`{item.isActive ? item.name : 'Inactive item'}` outputs the value of `item.name` if `item.isActive` resolves to `true`.
  +|===
  +
  +NOTE: In fact, the operators are implemented as "virtual methods" that consume one parameter and can be used with infix notation, i.e. `{person.name or 'John'}` is translated to `{person.name.or('John')}`.
  +
   ===== Character Escapes
   
   For HTML and XML templates the `'`, `"`, `<`, `>`, `&` characters are escaped by default.
  
positive.code: <html>
     <body>
     {_foo}       <1>
     {  foo}       <2>
     {{foo}}      <3>
     {"foo":true} <4>
     </body>
  
negative.code: <2> no namespace, two parts - `item`, `name`
  <3> namespace `global`, one part - `colors`
  
  An expression part could be a "virtual method" in which case the name can be followed by a list of comma-separated parameters in parentheses: 
  
  [source]
  ----
  