docs: def v1_tag_associate(request, tags, tag):
      '''Associate an HTML element with a tag.
  
      The association should be a JSON serialized object on the
      request body. Here is an example association that should
      make the object's structure clear:
  
      .. code-block:: python
  
          {
              "url": "http://example.com/abc/xyz?foo=bar",
              "text": "The text the user highlighted.",
              "stream_id": "{unix timestamp}-{md5 of url}",
              "hash": "{nilsimsa hash of the HTML}",
              "timestamp": {unix timestamp},
              "xpath": {
                  "start_node": "/html/body/p[1]/text()[2]",
                  "start_idx": 3,
                  "end_node": "/html/body/p[1]/text()[3]",
                  "end_idx": 9
              }
          }
  
      All fields are required and cannot be empty or ``null``.
  
      The tag of the association should be specified in the URL
      and is delimited by ``//``.
      '''
      tag = tag.decode('utf-8').strip()
      assoc = dict(json.loads(request.body.read()), **{'tag': tag})
      tags.add(assoc)