code: def properties_draft3(validator, properties, instance, schema):
      if not validator.is_type(instance, "object"):
          return
  
      for property, subschema in iteritems(properties):
          if property in instance:
              for error in validator.descend(
                  instance[property],
                  subschema,
                  path=property,
                  schema_path=property,
              ):
                  yield error
          elif subschema.get("required", False):
              error = ValidationError(
                  "%r is a required property" % property
              )
              error._set(
                  validator="required",
                  validator_value=subschema["required"],
                  instance=instance,
                  schema=schema,
              )
              error.path.appendleft(property)
              error.schema_path.extend([property, "required"])
              yield error
  
file_path: catboost/contrib/python/jsonschema/py2/jsonschema/_legacy_validators.py
imports: from jsonschema import _utils
  from jsonschema.compat import iteritems
  from jsonschema.exceptions import ValidationError
label_desc: Use image node_id 7 for calling a global function with example usage: properties_draft3(validator, properties, instance, schema) without return types