<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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