docs: def is_legal_object(self, data_type: str) -> bool:
          """
          Do data_type validation according to the rules of the XML xsd schema.
  
          Args:
              data_type:
  
          Returns:
  
          """
          data_type = str(data_type)
          ranges = self.included_ranges()
          return not ranges or data_type in ranges or self.super_properties() and \
                 any(x.is_legal_object(data_type) for x in self.super_properties())