code: def extract_text(self, node):
          
          if not isinstance(node, (list, tuple)):
              node = [node]
          pieces, self.pieces = self.pieces, ['']
          for n in node:
              for sn in n.childNodes:
                  self.parse(sn)
          ret = ''.join(self.pieces)
          self.pieces = pieces
          return ret
docs: Return the string representation of the node or list of nodes by parsing the
          subnodes, but returning the result as a string instead of adding it to `self.pieces`.
          Note that this allows extracting text even if the node is in the ignore list.