anchor.diff:  The `svg` element is the root element of the document.
   It's defined only once and can't be nested, unlike the SVG spec.
   
  +Always present.
  +
   Children: `defs`, `g`, `path`, `text` and `image`.
   
   Attributes: `width`, `height`, `viewBox` and `preserveAspectRatio`.
   
   === defs
  +
  +Always present.
  +
  +All `defs` children have an `id` attribute. It always set and newer empty.
   
   Children: `linearGradient`, `radialGradient`, `clipPath`, `mask`, `pattern`,
   `marker` and `filter`.
  
positive.code: * `id` is optional but never empty.
  * `marker-{star}` attributes will be set only on paths that were originally
    `path`, `line`, `polyline` or `polygon`.
  * If a path contains an ArcTo segment and a marker - it will be rendered incorrectly,
    because `usvg` will convert ArcTo into series of CurveTo's.
  
  
negative.code: 
  === image
  
  An image can have a base64 encoded data or a path to an image.
  
  Attributes: `id`, `x`, `y`, `width`, `height`, `preserveAspectRatio`, `xlink:href`,
  `visibility` and `transform`.
  