anchor.diff:  
   * [[parse_ws_pcdata]]`parse_ws_pcdata` determines if PCDATA nodes (nodes with type <<node_pcdata,node_pcdata>>) that consist only of whitespace characters are to be put in DOM tree. Often whitespace-only data is not significant for the application, and the cost of allocating and storing such nodes (both memory and speed-wise) can be significant. For example, after parsing XML string `<node> <a/> </node>`, `<node>` element will have three children when `parse_ws_pcdata` is set (child with type <<node_pcdata,node_pcdata>> and value `" "`, child with type <<node_element,node_element>> and name `"a"`, and another child with type <<node_pcdata,node_pcdata>> and value `" "`), and only one child when `parse_ws_pcdata` is not set. This flag is *off* by default.
   
  -* [[parse_ws_pcdata_single]]`parse_ws_pcdata_single` determines if whitespace-only PCDATA nodes that have no sibling nodes are to be put in DOM tree. In some cases application needs to parse the whitespace-only contents of nodes, i.e. `<node>  </node>`, but is not interested in whitespace markup elsewhere. It is possible to use <<parse_ws_pcdata,parse_ws_pcdata>> flag in this case, but it results in excessive allocations and complicates document processing in some cases; this flag is intended to avoid that. As an example, after parsing XML string `<node> <a>  </a> </node>` with `parse_ws_pcdata_single` flag set, `<node>` element will have one child `<a>`, and `<a>` element will have one child with type <<node_pcdata,node_pcdata>> and value `"  "`. This flag has no effect if <<parse_ws_pcdata,parse_ws_pcdata>> is enabled. This flag is *off* by default.
  +* [[parse_ws_pcdata_single]]`parse_ws_pcdata_single` determines if whitespace-only PCDATA nodes that have no sibling nodes are to be put in DOM tree. In some cases application needs to parse the whitespace-only contents of nodes, i.e. `<node>  </node>`, but is not interested in whitespace markup elsewhere. It is possible to use <<parse_ws_pcdata,parse_ws_pcdata>> flag in this case, but it results in excessive allocations and complicates document processing; this flag can be used to avoid that. As an example, after parsing XML string `<node> <a>  </a> </node>` with `parse_ws_pcdata_single` flag set, `<node>` element will have one child `<a>`, and `<a>` element will have one child with type <<node_pcdata,node_pcdata>> and value `"  "`. This flag has no effect if <<parse_ws_pcdata,parse_ws_pcdata>> is enabled. This flag is *off* by default.
   
   * [[parse_fragment]]`parse_fragment` determines if document should be treated as a fragment of a valid XML. Parsing document as a fragment leads to top-level PCDATA content (i.e. text that is not located inside a node) to be added to a tree, and additionally treats documents without element nodes as valid. This flag is *off* by default.
   
  
positive.code: 
  Types:
  
  [source,subs="+macros,+quotes"]
  ----
  typedef _configuration-defined-type_ +++<a href="#char_t">char_t</a>+++;
  typedef _configuration-defined-type_ +++<a href="#string_t">string_t</a>+++;
  typedef void* (*+++<a href="#allocation_function">allocation_function</a>+++)(size_t size);
  typedef void (*+++<a href="#deallocation_function">deallocation_function</a>+++)(void* ptr);
  ----
  
negative.code: 
      bool +++<a href="#xml_node::comparison">operator==</a>+++(const xml_node& r) const;
      bool +++<a href="#xml_node::comparison">operator!=</a>+++(const xml_node& r) const;
      bool +++<a href="#xml_node::comparison">operator&lt;</a>+++(const xml_node& r) const;
      bool +++<a href="#xml_node::comparison">operator&gt;</a>+++(const xml_node& r) const;
      bool +++<a href="#xml_node::comparison">operator&lt;=</a>+++(const xml_node& r) const;
      bool +++<a href="#xml_node::comparison">operator&gt;=</a>+++(const xml_node& r) const;
  
      size_t +++<a href="#xml_node::hash_value">hash_value</a>+++() const;
  
  