docs: def add_topic(self, topic):
          """
          Parameters
          ----------
          topic : etree.Element
              etree representation of a <topic> element
              (topic annotation of a text span, e.g. a sentence, edu or edu-range)
  
          Example
          -------
              <topic xml:id="topic_9_0" description="Kuli">
                  <sentence xml:id="s128">
  
              ...
  
              <topic xml:id="topic_37_1" description="Die Pläne der AG">
                  <edu-range xml:id="edus37_8_0-8_1">
                      <discRel relation="Restatement" marking="-" arg2="edu_37_9_0"/>
                          <sentence xml:id="s660">
          """
          topic_id = self.get_element_id(topic)
          self.add_node(topic_id, layers={self.ns, self.ns+':topic'},
                        description=topic.attrib['description'])
          topic_tokens = []
          for word in topic.iterdescendants('word'):
              word_id = self.get_element_id(word)
              topic_tokens.append(word_id)
              self.add_edge(topic_id, word_id, layers={self.ns, self.ns+':topic'},
                            edge_type=dg.EdgeTypes.spanning_relation)
          self.node[topic_id]['tokens'] = topic_tokens