docs: def set_variables(self, data):
          """
          Set variables for the network.
  
          Parameters
          ----------
          data: dict
              dict for variable in the form of example as shown.
  
          Examples
          --------
          >>> from pgmpy.readwrite.XMLBeliefNetwork import XBNWriter
          >>> writer = XBNWriter()
          >>> writer.set_variables({'a': {'TYPE': 'discrete', 'XPOS': '13495',
          ...                             'YPOS': '10465', 'DESCRIPTION': '(a) Metastatic Cancer',
          ...                             'STATES': ['Present', 'Absent']}
          ...                       'b': {'TYPE': 'discrete', 'XPOS': '11290',
          ...                             'YPOS': '11965', 'DESCRIPTION': '(b) Serum Calcium Increase',
          ...                             'STATES': ['Present', 'Absent']}})
          """
          variables = etree.SubElement(self.bnmodel, "VARIABLES")
          for var in sorted(data):
              variable = etree.SubElement(variables, 'VAR', attrib={'NAME': var, 'TYPE': data[var]['TYPE'],
                                                                    'XPOS': data[var]['XPOS'], 'YPOS': data[var]['YPOS']})
              etree.SubElement(variable, 'DESCRIPTION', attrib={'DESCRIPTION': data[var]['DESCRIPTION']})
              for state in data[var]['STATES']:
                  etree.SubElement(variable, 'STATENAME').text = state