code: def _init_xml(self, body):
          
          tree = etree.fromstring(body.encode(self.encoding), PARSER)
          # Extract and replace inner DIDL xml in tags
          for text in tree.xpath('.//text()[contains(., "DIDL")]'):
              item = text.getparent()
              didl_tree = etree.fromstring(item.text)
              if self.external_inner_xml:
                  item.text = 'DIDL_REPLACEMENT_{0}'.format(len(self.inner_xml))
                  self.inner_xml.append(didl_tree)
              else:
                  item.text = None
                  item.append(didl_tree)
  
          # Extract and replace inner DIDL xml in properties in inner xml
          for inner_tree in self.inner_xml:
              for item in inner_tree.xpath('//*[contains(@val, "DIDL")]'):
                  if self.external_inner_xml:
                      didl_tree = etree.fromstring(item.attrib['val'])
                      item.attrib['val'] = 'DIDL_REPLACEMENT_{0}'.\
                          format(len(self.inner_xml))
                      self.inner_xml.append(didl_tree)
  
          self.body_formatted = etree.tostring(tree, pretty_print=True).decode(
              self.encoding)
docs: Parse the present body as xml