docs: def _loadDeviceDefinitions(self, urlOfXMLDefinition, xml):
          """Internal call to parse the XML of the device definition.
  
          :param urlOfXMLDefinition: the URL to the XML device defintions
          :param xml: the XML content to parse
          """
  
          # extract the base path of the given XML to make sure any relative URL later will be created correctly
          url = urlparse(urlOfXMLDefinition)
          baseURIPath = url.path.rpartition('/')[0] + "/"
  
          try:
              root = ET.fromstring(xml)
          except Exception as e:
              raise ValueError("Can not parse CPE definitions '" + urlOfXMLDefinition + "': " + str(e))
  
          self.__deviceServiceDefinitions = {}
          self.__deviceSCPD = {}
          self.__deviceInformations = {'rootURL': urlOfXMLDefinition}
          self.__deviceUnknownKeys = {}
          self.__deviceXMLInitialized = False
  
          # iterate through all the informations
          self._iterateToFindSCPDElements(root, baseURIPath)
          self.__deviceXMLInitialized = True