code: def validate(self, schema_str, xml_valid):
          
          # TODO: be able to get doc for error given an xsd.
          # Changed path to allow have xsd that are imported by others xsd in the
          # same library, and not call to SAT page each time that is generated
          # a new XML.
          with change_path():
              path = os.path.join(
                  os.path.dirname(os.path.realpath(__file__)), 'templates')
              os.chdir(path)
              schema_root = etree.parse(StringIO(schema_str))
              schema = etree.XMLSchema(schema_root)
          try:
              tree = etree.parse(StringIO(xml_valid.encode('UTF-8')))
              schema.assertValid(tree)
          except etree.DocumentInvalid as ups:
              self.ups = ups
          finally:
              if self.ups:
                  self.valid = False
              else:
                  self.valid = True
              return self.valid
docs: Compare the valid information on an xml from  given schema.
  
          :param str schema_str: content string from schema file.
          :param str xml_valid: content string from xml file.
          :returns: If it is Valid or Not.
          :rtype: bool