docs: def parse_metadata(elm_tree):
      """Given an element-like object (:mod:`lxml.etree`)
      lookup the metadata and return the found elements
  
      :param elm_tree: the root xml element
      :type elm_tree: an element-like object from :mod:`lxml.etree`
      :returns: common metadata properties
      :rtype: dict
  
      """
      xpath = make_cnx_xpath(elm_tree)
      role_xpath = lambda xp: tuple(xpath(xp)[0].split())  # noqa: E731
  
      props = {
          'id': _maybe(xpath('//md:content-id/text()')),
          'version': xpath('//md:version/text()')[0],
          'created': xpath('//md:created/text()')[0],
          'revised': xpath('//md:revised/text()')[0],
          'title': xpath('//md:title/text()')[0],
          'license_url': xpath('//md:license/@url')[0],
          'language': xpath('//md:language/text()')[0],
          'authors': role_xpath('//md:role[@type="author"]/text()'),
          'maintainers': role_xpath('//md:role[@type="maintainer"]/text()'),
          'licensors': role_xpath('//md:role[@type="licensor"]/text()'),
          'keywords': tuple(xpath('//md:keywordlist/md:keyword/text()')),
          'subjects': tuple(xpath('//md:subjectlist/md:subject/text()')),
          'abstract': _squash_to_text(
              _maybe(xpath('//md:abstract')),
              remove_namespaces=True,
          ),
          'print_style': _maybe(
              xpath('//col:param[@name="print-style"]/@value'),
          ),
          'derived_from': {
              'uri': _maybe(xpath('//md:derived-from/@url')),
              'title': _maybe(xpath('//md:derived-from/md:title/text()')),
          },
      }
      return props