code: def check_syntax (self):
          
          log.debug(LOG_CHECK, "checking syntax")
          if self.base_url is None:
              self.base_url = u""
          if not (self.base_url or self.parent_url):
              self.set_result(_("URL is empty"), valid=False)
              return
          try:
              self.build_url()
              self.check_url_warnings()
          except tuple(ExcSyntaxList) as msg:
              self.set_result(unicode_safe(msg), valid=False)
          else:
              self.set_cache_url()
docs: Called before self.check(), this function inspects the
          url syntax. Success enables further checking, failure
          immediately logs this url. Syntax checks must not
          use any network resources.